HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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  virtual ~SIM_PointPosition();
41 
42  virtual void initializeSubclass();
43  virtual void setParametersSubclass(const SIM_Options &parms);
44 
45 private:
46  // Keeps track of whether we have had our parms set yet or not.
48 
49  void getPointInformation(SIM_PointInfo &info);
50  static const SIM_DopDescription *getPointPositionDopDescription();
51 
54  SIM_Motion,
55  "Point Position",
56  getPointPositionDopDescription());
57 };
58 
59 #endif
60 
#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:45
#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:58
This is the default implementation for standard motion data.
Definition: SIM_Motion.h:18
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
double fpreal
Definition: SYS_Types.h:269
#define SIM_NAME_USETRANSFORM
Definition: SIMZ_Utils.h:34
#define SIM_NAME_POINTGROUP
Definition: SIM_Names.h:165
#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