HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_ConAnchorObjRotational.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_ConAnchorObjRotational_h__
9 #define __SIM_ConAnchorObjRotational_h__
10 
11 #include "SIM_API.h"
13 
14 /// Base class for constraint anchors that specify a rotation in the space
15 /// of a particular object.
17 {
18 public:
20 
21  /// This value must be true to force the constraint to initialize
22  /// itself from the provided world space position. Otherwise the
23  /// constraint-specific parameters are used directly.
24  GETSET_DATA_FUNCS_B(SIM_NAME_USEWORLDSPACEPOS, UseWorldSpacePosition);
25 
26  /// Retrieve the world-space position for the guide geometry
27  GETSET_DATA_FUNCS_V3(SIM_NAME_WORLDSPACEPOS, WorldSpacePosition);
28 
29 
30 protected:
32  virtual ~SIM_ConAnchorObjRotational();
33 
34  virtual bool getNeedsInitSubclass() const;
35  virtual void initAnchorSubclass(const SIM_Object *object);
36  virtual bool getObjectSpecificationSubclass(UT_String &str) const;
37 
38  void initParmsFromWorldSpacePosition(
39  const UT_Vector3 &worldspacepos,
40  const SIM_Object *object);
41  virtual void initParmsFromWorldSpacePositionSubclass(
42  const UT_Vector3 &worldspacepos,
43  const SIM_Object *object) = 0;
44 
45  virtual UT_Quaternion getOrientationSubclass(const SIM_Time &time) const;
46  virtual UT_Vector3 getAngularVelocitySubclass(const SIM_Time &time) const;
47 
48 private:
51 };
52 
53 #endif
54 
virtual UT_Quaternion getOrientationSubclass(const SIM_Time &time) const =0
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:45
#define DECLARE_CLASSNAME(DataClass, SuperClass)
Definition: SIM_DataUtils.h:20
GETSET_DATA_FUNCS_V3(SIM_NAME_ROTATION, RotationInput)
virtual bool getObjectSpecificationSubclass(UT_String &str) const
Implements the real functionality of getObjectSpecification.
#define GETSET_DATA_FUNCS_B(DataName, FuncName)
#define SIM_NAME_USEWORLDSPACEPOS
Definition: SIM_Names.h:211
GT_API const UT_StringHolder time
#define GETSET_DATA_FUNCS_S(DataName, FuncName)
virtual void initAnchorSubclass(const SIM_Object *object)
virtual UT_Vector3 getAngularVelocitySubclass(const SIM_Time &time) const =0
GLfloat f
Definition: glcorearb.h:1925
virtual bool getNeedsInitSubclass() const
#define SIM_NAME_OBJECT
Definition: SIM_Names.h:224
#define SIM_API
Definition: SIM_API.h:10
#define SIM_NAME_WORLDSPACEPOS
Definition: SIM_Names.h:218