HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_PointPosition.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_PointPosition_h__
9 #define __SIM_PointPosition_h__
10 
11 #include <SIM/SIM_Motion.h>
12 #include "SIMZ_Utils.h"
13 
14 class SIM_PointInfo;
15 
16 /// This SIM_Motion implementation gets position information from a point
17 /// in a SOP. The velocity is calculated automatically.
19 {
20 public:
21  /// Access functions for our specific data.
29 
30  /// Force this data to update its position information from it's
31  /// point information. This function is called automatically by
32  /// setParametersSubclass(), but not when calling the set functions
33  /// listed above.
34  void calculateValuesFromPoint(const UT_Vector3 &prevpos,
35  const UT_Quaternion &prevrot,
36  fpreal prevtime);
37 
38 protected:
39  explicit SIM_PointPosition(const SIM_DataFactory *factory);
40  ~SIM_PointPosition() override;
41 
42  void initializeSubclass() override;
44  const SIM_Options &parms) override;
45 
46 private:
47  // Keeps track of whether we have had our parms set yet or not.
49 
50  void getPointInformation(SIM_PointInfo &info);
51  static const SIM_DopDescription *getPointPositionDopDescription();
52 
55  SIM_Motion,
56  "Point Position",
57  getPointPositionDopDescription());
58 };
59 
60 #endif
61 
#define SIM_NAME_POINTINDEX
Definition: SIMZ_Utils.h:26
#define SIMZ_API
Definition: SIMZ_API.h:10
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define SIM_NAME_EXTRAATTRIBUTES
Definition: SIMZ_Utils.h:17
#define GETSET_DATA_FUNCS_B(DataName, FuncName)
#define GETSET_DATA_FUNCS_S(DataName, FuncName)
#define SIM_NAME_HASHADPARMSSET
Definition: SIMZ_Utils.h:19
#define GETSET_DATA_FUNCS_F(DataName, FuncName)
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
This is the default implementation for standard motion data.
Definition: SIM_Motion.h:18
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
#define SIM_NAME_USETRANSFORM
Definition: SIMZ_Utils.h:34
#define SIM_NAME_POINTGROUP
Definition: SIM_Names.h:166
fpreal64 fpreal
Definition: SYS_Types.h:277
#define SIM_NAME_TIME
Definition: SIMZ_Utils.h:32
virtual void setParametersSubclass(const SIM_Options &parms)
#define SIM_NAME_ROTATETONORMAL
Definition: SIMZ_Utils.h:29
virtual void initializeSubclass()
#define SIM_NAME_SOPPATH
Definition: SIMZ_Utils.h:31