Classes |
class | AABBCollisionNode |
class | AABBCollisionTree |
class | AABBNoLeafNode |
class | AABBNoLeafTree |
class | AABBOptimizedTree |
class | AABBQuantizedNode |
class | AABBQuantizedNoLeafNode |
class | AABBQuantizedNoLeafTree |
class | AABBQuantizedTree |
class | AABBTree |
class | AABBTreeBuilder |
class | AABBTreeCollider |
class | AABBTreeNode |
class | AABBTreeOfAABBsBuilder |
class | AABBTreeOfTrianglesBuilder |
class | AABBTreeOfVerticesBuilder |
class | BaseModel |
struct | BuildSettings |
| Simple wrapper around build-related settings [Opcode 1.3]. More...
|
struct | BVTCache |
class | Collider |
class | CollisionAABB |
class | CollisionFace |
class | CollisionFaces |
class | HybridModel |
class | HybridPlanesCollider |
class | HybridSphereCollider |
struct | LeafTriangles |
| Leaf descriptor. More...
|
class | MeshInterface |
class | Model |
struct | OPCODECREATE |
| Model creation structure. More...
|
struct | PlanesCache |
class | PlanesCollider |
class | QuantizedAABB |
class | RayCollider |
class | SAP_Box |
class | SAP_Element |
class | SAP_EndPoint |
struct | SphereCache |
class | SphereCollider |
struct | VertexPointers |
struct | VolumeCache |
class | VolumeCollider |
Typedefs |
typedef void(* | CullingCallback )(udword nb_primitives, udword *node_primitives, BOOL need_clipping, void *user_data) |
typedef CullMode(* | CullModeCallback )(udword triangle_index, void *user_data) |
typedef bool(* | GenericWalkingCallback )(const void *current, void *user_data) |
typedef void(* | HitCallback )(const CollisionFace &hit, void *user_data) |
typedef bool(* | WalkingCallback )(const AABBTreeNode *current, udword depth, void *user_data) |
Enumerations |
enum | CollisionFlag {
OPC_FIRST_CONTACT = (1<<0),
OPC_TEMPORAL_COHERENCE = (1<<1),
OPC_CONTACT = (1<<2),
OPC_TEMPORAL_HIT = (1<<3),
OPC_NO_PRIMITIVE_TESTS = (1<<4),
OPC_CONTACT_FOUND = OPC_FIRST_CONTACT | OPC_CONTACT,
OPC_TEMPORAL_CONTACT = OPC_TEMPORAL_HIT | OPC_CONTACT,
OPC_FORCE_DWORD = 0x7fffffff
} |
enum | CullMode { CULLMODE_NONE = 0,
CULLMODE_CW = 1,
CULLMODE_CCW = 2
} |
enum | ModelFlag { OPC_QUANTIZED = (1<<0),
OPC_NO_LEAF = (1<<1),
OPC_SINGLE_NODE = (1<<2)
} |
enum | SplittingRules {
SPLIT_LARGEST_AXIS = (1<<0),
SPLIT_SPLATTER_POINTS = (1<<1),
SPLIT_BEST_AXIS = (1<<2),
SPLIT_BALANCED = (1<<3),
SPLIT_FIFTY = (1<<4),
SPLIT_GEOM_CENTER = (1<<5),
SPLIT_FORCE_DWORD = 0x7fffffff
} |
| Tree splitting rules. More...
|
Functions |
FUNCTION OPCODE_API bool | CloseOpcode () |
FUNCTION OPCODE_API bool | InitOpcode () |
OPCODE_API bool | Picking (CollisionFace &picked_face, const Ray &world_ray, const Model &model, const Matrix4x4 *world, float min_dist, float max_dist, const Point &view_point, CullModeCallback callback, void *user_data) |
OPCODE_API bool | SetupAllHits (RayCollider &collider, CollisionFaces &contacts) |
OPCODE_API bool | SetupClosestHit (RayCollider &collider, CollisionFace &closest_contact) |
OPCODE_API bool | SetupInOutTest (RayCollider &collider) |
OPCODE_API bool | SetupShadowFeeler (RayCollider &collider) |
inline_ void | TransformPoint (Point &dest, const Point &source, const Matrix3x3 &rot, const Point &trans) |
| Quickly rotates & translates a vector.
|