HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SIM_SweptCollisionData.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_SweptCollisionData_h__
9 #define __SIM_SweptCollisionData_h__
10 
11 #include "SIM_API.h"
12 #include <UT/UT_Vector3.h>
13 #include <UT/UT_ValArray.h>
14 #include <UT/UT_VectorTypes.h>
15 #include <UT/UT_StringArray.h>
16 #include <vector>
17 
18 // Spatial coordinates for point (e.g., position or velocity)
20 {
22  {
23  myV = UT_Vector3D(0, 0, 0);
24  }
25 
26  explicit SIM_SpatialPoint(const UT_Vector3D& v)
27  {
28  myV = v;
29  }
30 
32  {
33  myV = s.myV;
34  }
35 
37  {
38  myV = s.myV;
39  return *this;
40  }
41 
43 };
44 
46 typedef std::vector<SIM_PositionPoint> SIM_PositionPoints;
47 
49 typedef std::vector<SIM_VelocityPoint> SIM_VelocityPoints;
50 
51 // Triangle represented as a triple of point indices
53 {
55  {
56  myPS[0] = -1;
57  myPS[1] = -1;
58  myPS[2] = -1;
59  }
60 
61  int myPS[3];
62 };
63 
64 // Connectivity structure consisting of triangles
66 {
67  std::vector<SIM_Triangle> myTriangles;
68 
69  // GA_Index of the source primitive. Note that there is often more
70  // than one triangle per primitive!
72  // Geometry id of source data
74 
75  // myGeoId can index into this list of paths.
77 };
78 
79 #endif
80 
SIM_SpatialPoint SIM_PositionPoint
SIM_SpatialPoint SIM_VelocityPoint
const GLdouble * v
Definition: glcorearb.h:836
SIM_SpatialPoint(const SIM_SpatialPoint &s)
UT_Vector3T< fpreal64 > UT_Vector3D
SIM_SpatialPoint(const UT_Vector3D &v)
std::vector< SIM_Triangle > myTriangles
#define SIM_API
Definition: SIM_API.h:10
std::vector< SIM_PositionPoint > SIM_PositionPoints
std::vector< SIM_VelocityPoint > SIM_VelocityPoints
SIM_SpatialPoint & operator=(const SIM_SpatialPoint &s)