HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RBD_Utils.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 __RBD_Utils_h__
9 #define __RBD_Utils_h__
10 
11 #include "RBD_API.h"
12 
13 #include <SIM/SIM_Utils.h>
14 #include <UT/UT_SysSpecific.h>
15 #include <UT/UT_Vector3.h>
16 
17 // Parameter and SimpleData names for data.
18 #define RBD_NAME_ITENSOR "itensor"
19 #define RBD_NAME_ITENSORLOCALINV "itensorlocalinv"
20 #define RBD_NAME_MASS "mass"
21 #define RBD_NAME_COMPUTEMASS "computemass"
22 #define RBD_NAME_DENSITY "density"
23 #define RBD_NAME_COMPUTECOM "computecom"
24 #define RBD_NAME_COMPUTEINERTIALTENSOR "computeinertialtensor"
25 #define RBD_NAME_COMPUTEINERTIALTENSORTYPE "computeinertialtensortype"
26 #define RBD_NAME_INERTIALTENSORSTIFFNESS "inertialtensorstiffness"
27 #define RBD_NAME_USEPOINTVELOCITY "usepointvelocity"
28 #define RBD_NAME_USESDFVELOCITY "usevolumevelocity"
29 #define RBD_NAME_INHERITVELOCITY "inheritvelocity"
30 #define RBD_NAME_GLUEOBJECT "glueobject"
31 #define RBD_NAME_GLUETHRESHOLD "gluethreshold"
32 #define RBD_NAME_GLUEIMPULSE "glueimpulse"
33 #define RBD_NAME_GLUEIMPULSEHALFLIFE "glueimpulsehalflife"
34 #define RBD_NAME_CULLMODE "cullmode"
35 #define RBD_NAME_ADDIMPACTS "addimpacts"
36 #define RBD_NAME_CONTACTGROUPMETHOD "contactgroupmethod"
37 #define RBD_NAME_CONTACTGROUPTOL "contactgrouptol"
38 #define RBD_NAME_POLYCONVERT "polyconvert"
39 #define RBD_NAME_POLYLOD "polylod"
40 #define RBD_NAME_ADDBARYCENTER "addbarycenter"
41 #define RBD_NAME_TRIANGULATE "triangulate"
42 
43 
44 // Call this initialization function to register all data types, solvers,
45 // and colliders in this library.
46 RBD_API void initializeRBD();
47 
48 
49 class RBD_SphereTreeNode;
50 #if 0
51 class RBD_API rbd_isect : public sim_isect
52 {
53 public:
54  rbd_isect(const UT_Vector3 &position,
55  const UT_Vector3 &normal,
56  fpreal isectdepth)
57  : sim_isect(position, normal),
58  depth (isectdepth)
59  { }
60  fpreal depth;
61  virtual fpreal getPriority() const
62  { return depth; }
63 };
64 #endif
65 
67 {
68 public:
70 
71  /// This is the minimum value the sdf can have within this
72  /// node.
74 };
75 
77 {
78 public:
79  bool operator()(rbd_nodeentry *a, rbd_nodeentry *b) const;
80 };
81 
82 #endif
83 
84 
RBD_API void initializeRBD()
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
#define RBD_API
Definition: RBD_API.h:10
fpreal dist_minus_radius
Definition: RBD_Utils.h:73
This is the base class for nodes inside sphere trees.
const RBD_SphereTreeNode * node
Definition: RBD_Utils.h:69
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
GLint GLint GLsizei GLsizei GLsizei depth
Definition: glcorearb.h:476
fpreal64 fpreal
Definition: SYS_Types.h:277
SIM_API const UT_StringHolder position