HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_ConRelHard.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_ConRelHard_h__
9 #define __SIM_ConRelHard_h__
10 
11 #include "SIM_API.h"
12 #include "SIM_OptionsUser.h"
13 #include "SIM_ConRel.h"
14 
15 /// The simplest type of constraint: forcing the geometry to exactly match
16 /// the anchor position and/or orientation.
18  public SIM_OptionsUser
19 {
20 public:
26 
32 
33 protected:
34  explicit SIM_ConRelHard(const SIM_DataFactory *factory);
35  ~SIM_ConRelHard() override;
36 
37  void setStateForceSubclass(fpreal force) override;
38  fpreal getStateForceSubclass() const override;
39 
40  void buildConRelGuide(
41  const GU_DetailHandle &gdh,
42  const SIM_Options &options,
43  const UT_Vector3 &anchor_pos_1,
44  const UT_Vector3 &anchor_pos_2,
45  const UT_Quaternion &anchor_rot_1,
46  const UT_Quaternion &anchor_rot_2,
47  const ConRelData &c_options) const override;
48 
49 private:
50  static void syncNodeVersion(OP_Node *node, const char *old_version,
51  const char *new_version, bool *node_deleted);
52  static bool updateParmsFlags(OP_Node *node);
53  static const SIM_DopDescription *getConRelHardDopDescription();
54 
55  fpreal myStateForce;
56 
59  SIM_ConRel,
60  "Hard Constraint Relationship",
61  getConRelHardDopDescription());
62 };
63 
64 #endif
#define SIM_NAME_NUMITERATIONS
Definition: SIM_Names.h:153
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
virtual void setStateForceSubclass(fpreal force)
#define SIM_NAME_MAXANGULARIMPULSE
Definition: SIM_Names.h:147
#define SIM_NAME_AXIS2
Definition: SIM_Names.h:76
#define GETSET_DATA_FUNCS_F(DataName, FuncName)
#define SIM_NAME_DISABLECOLLISIONS
Definition: SIM_Names.h:104
#define GETSET_DATA_FUNCS_V3(DataName, FuncName)
#define SIM_NAME_CFM
Definition: SIM_Names.h:83
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
#define SIM_NAME_AXIS1
Definition: SIM_Names.h:75
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
#define SIM_NAME_ERP
Definition: SIM_Names.h:114
#define SIM_NAME_TARGETW
Definition: SIM_Names.h:199
SIM_API const UT_StringHolder force
fpreal64 fpreal
Definition: SYS_Types.h:277
#define SIM_API
Definition: SIM_API.h:12
virtual void buildConRelGuide(const GU_DetailHandle &gdh, const SIM_Options &options, const UT_Vector3 &anchor_pos_1, const UT_Vector3 &anchor_pos_2, const UT_Quaternion &anchor_rot_1, const UT_Quaternion &anchor_rot_2, const ConRelData &c_data) const
virtual fpreal getStateForceSubclass() const
#define SIM_NAME_RESTLENGTH
Definition: SIM_Names.h:176
#define SIM_NAME_NUMANGULARMOTORS
Definition: SIM_Names.h:154