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  ~SIM_ConAnchorObjRotational() override;
33 
34  bool getNeedsInitSubclass() const override;
35  void initAnchorSubclass(const SIM_Object *object) override;
37  UT_String &str) const override;
38 
39  void initParmsFromWorldSpacePosition(
40  const UT_Vector3 &worldspacepos,
41  const SIM_Object *object);
42  virtual void initParmsFromWorldSpacePositionSubclass(
43  const UT_Vector3 &worldspacepos,
44  const SIM_Object *object) = 0;
45 
47  const SIM_Time &time) const override;
49  const SIM_Time &time) const override;
50 
51 private:
54 };
55 
56 #endif
57 
virtual UT_Quaternion getOrientationSubclass(const SIM_Time &time) const =0
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#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:212
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:1926
virtual bool getNeedsInitSubclass() const
#define SIM_NAME_OBJECT
Definition: SIM_Names.h:225
#define SIM_API
Definition: SIM_API.h:12
#define SIM_NAME_WORLDSPACEPOS
Definition: SIM_Names.h:219