HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SIM_Isect::simIsectInfo Struct Reference

#include <SIM_Isect.h>

Public Types

enum  simIsectInfoType { NONE, PRIM_EDGE_U, PRIM_UV, POINT }
 

Public Member Functions

 simIsectInfo ()
 

Static Public Member Functions

static simIsectInfo makeNone (int obj_id, const UT_Vector3 &position)
 Named constructors. More...
 
static simIsectInfo makeEdgeU (int obj_id, const UT_Vector3 &position, int primId, int eid, fpreal u)
 Named constructors. More...
 
static simIsectInfo makePrimUV (int obj_id, const UT_Vector3 &position, int primid, fpreal u, fpreal v)
 Named constructors. More...
 
static simIsectInfo makePoint (int obj_id, const UT_Vector3 &position, int pointid)
 Named constructors. More...
 

Public Attributes

int myObjectId
 ID of object involved in the collision. More...
 
UT_Vector3 myPosition
 World-space position of deepest point of intersection. More...
 
enum
SIM_Isect::simIsectInfo::simIsectInfoType 
myType
 
union {
   struct {
      int   myPrimitiveId
 
      int   myEdgeId
 
      fpreal   myU
 
   }   myPEU
 
   struct {
      int   myPrimitiveId
 
      fpreal   myU
 
      fpreal   myV
 
   }   myPUV
 
   struct {
      int   myPointId
 
   }   myPt
 
}; 
 

Detailed Description

Information about one half of the collision (wrt one of the two entities involved)

Definition at line 23 of file SIM_Isect.h.

Member Enumeration Documentation

The following is a discriminating union describing an alternate representation of the deepest point of intersection

Enumerator
NONE 
PRIM_EDGE_U 
PRIM_UV 
POINT 

Definition at line 33 of file SIM_Isect.h.

Constructor & Destructor Documentation

SIM_Isect::simIsectInfo::simIsectInfo ( )
inline

Definition at line 61 of file SIM_Isect.h.

Member Function Documentation

static simIsectInfo SIM_Isect::simIsectInfo::makeEdgeU ( int  obj_id,
const UT_Vector3 position,
int  primId,
int  eid,
fpreal  u 
)
inlinestatic

Named constructors.

Definition at line 69 of file SIM_Isect.h.

static simIsectInfo SIM_Isect::simIsectInfo::makeNone ( int  obj_id,
const UT_Vector3 position 
)
inlinestatic

Named constructors.

Definition at line 65 of file SIM_Isect.h.

static simIsectInfo SIM_Isect::simIsectInfo::makePoint ( int  obj_id,
const UT_Vector3 position,
int  pointid 
)
inlinestatic

Named constructors.

Definition at line 88 of file SIM_Isect.h.

static simIsectInfo SIM_Isect::simIsectInfo::makePrimUV ( int  obj_id,
const UT_Vector3 position,
int  primid,
fpreal  u,
fpreal  v 
)
inlinestatic

Named constructors.

Definition at line 79 of file SIM_Isect.h.

Member Data Documentation

union { ... }
int SIM_Isect::simIsectInfo::myEdgeId

Definition at line 46 of file SIM_Isect.h.

int SIM_Isect::simIsectInfo::myObjectId

ID of object involved in the collision.

Definition at line 26 of file SIM_Isect.h.

struct { ... } SIM_Isect::simIsectInfo::myPEU
int SIM_Isect::simIsectInfo::myPointId

Definition at line 57 of file SIM_Isect.h.

UT_Vector3 SIM_Isect::simIsectInfo::myPosition

World-space position of deepest point of intersection.

Definition at line 29 of file SIM_Isect.h.

int SIM_Isect::simIsectInfo::myPrimitiveId

Definition at line 45 of file SIM_Isect.h.

struct { ... } SIM_Isect::simIsectInfo::myPt
struct { ... } SIM_Isect::simIsectInfo::myPUV
enum SIM_Isect::simIsectInfo::simIsectInfoType SIM_Isect::simIsectInfo::myType
fpreal SIM_Isect::simIsectInfo::myU

Definition at line 47 of file SIM_Isect.h.

fpreal SIM_Isect::simIsectInfo::myV

Definition at line 53 of file SIM_Isect.h.


The documentation for this struct was generated from the following file: