HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_PositionComposite.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  */
7 
8 #ifndef __SIM_PositionComposite_h__
9 #define __SIM_PositionComposite_h__
10 
11 #include "SIM_API.h"
12 #include "SIM_Position.h"
13 #include "SIM_OptionsUser.h"
14 
15 /// This is the simplest implementation for standard positional data.
16 /// Positional data is not exactly the same as a transform in that it
17 /// does not permit scales, and the rotation is always applied before
18 /// the translation.
20  public SIM_OptionsUser
21 {
22 public:
23  /// Control the operation to use when compositing our position subdata.
25 
26 protected:
27  explicit SIM_PositionComposite(const SIM_DataFactory *factory);
28  ~SIM_PositionComposite() override;
29 
30  /// Gets a transform matrix from our position and rotation data.
31  void getTransformSubclass(UT_DMatrix4 &xform) const override;
32 
33 private:
34  static const SIM_DopDescription *getPositionCompositeDopDescription();
35 
39  "Position Composite",
40  getPositionCompositeDopDescription());
41 };
42 
43 #endif
44 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define GETSET_DATA_FUNCS_S(DataName, FuncName)
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
virtual void getTransformSubclass(UT_DMatrix4 &xform) const
This implementation returns the identity matrix.
#define SIM_NAME_POSCOMPOSITEOP
Definition: SIM_Names.h:167
#define SIM_API
Definition: SIM_API.h:12