HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_ConAnchorObjSpaceRot.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_ConAnchorObjSpaceRot_h__
9 #define __SIM_ConAnchorObjSpaceRot_h__
10 
11 #include "SIM_API.h"
13 
14 /// A concrete constraint source: the "lookat" constraint, set to
15 /// track the orientation from one object to another.
17 {
18 public:
19  /// Object-space offset.
21 
22  /// This value must be true to force the constraint to initialize
23  /// itself from the provided world space rotation. Otherwise the
24  /// constraint-specific parameters are used directly.
26 
27  /// Retrieve the world-space rotation for the guide geometry.
29 
30 protected:
32  ~SIM_ConAnchorObjSpaceRot() override;
33 
35  const UT_Vector3 &worldspacepos,
36  const SIM_Object *object) override;
37 
39  const SIM_Time &time) const override;
41  const SIM_Time &time) const override;
42  void initAnchorSubclass(const SIM_Object *object) override;
43 
44 private:
45  static const SIM_DopDescription *getDopDescription();
46 
47  void initParmsFromWorldSpaceRotation(const UT_Vector3 &worldspacerot,
48  const SIM_Object *object);
49 
53  "Anchor: Object Space Rotation",
54  getDopDescription());
55 };
56 
57 #endif
58 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define SIM_NAME_WORLDSPACEROTATION
Definition: SIM_Names.h:220
GT_API const UT_StringHolder time
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
GLfloat f
Definition: glcorearb.h:1926
void initAnchorSubclass(const SIM_Object *object) override
virtual UT_Vector3 getGuidePositionSubclass(const SIM_Time &time) const
GETSET_DATA_FUNCS_V3(SIM_NAME_WORLDSPACEPOS, WorldSpacePosition)
Retrieve the world-space position for the guide geometry.
UT_Quaternion getOrientationSubclass(const SIM_Time &time) const override
#define SIM_API
Definition: SIM_API.h:12
#define SIM_NAME_OFFSET
Definition: SIM_Names.h:157
virtual void initParmsFromWorldSpacePositionSubclass(const UT_Vector3 &worldspacepos, const SIM_Object *object)=0
GETSET_DATA_FUNCS_B(SIM_NAME_USEWORLDSPACEPOS, UseWorldSpacePosition)
#define SIM_NAME_USEWORLDSPACEROTATION
Definition: SIM_Names.h:213