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. More... | |
typedef void(* Opcode::HitCallback) (const CollisionFace &hit, void *user_data) |
typedef bool(* Opcode::WalkingCallback) (const AABBTreeNode *current, udword depth, void *user_data) |
enum Opcode::CullMode |
enum Opcode::ModelFlag |
Tree splitting rules.
bool Opcode::CloseOpcode | ( | ) |
Definition at line 46 of file Opcode.cpp.
bool Opcode::InitOpcode | ( | ) |
Definition at line 38 of file Opcode.cpp.
bool Opcode::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 | ||
) |
Definition at line 85 of file OPC_Picking.cpp.
bool Opcode::SetupAllHits | ( | RayCollider & | collider, |
CollisionFaces & | contacts | ||
) |
Definition at line 35 of file OPC_Picking.cpp.
bool Opcode::SetupClosestHit | ( | RayCollider & | collider, |
CollisionFace & | closest_contact | ||
) |
Definition at line 52 of file OPC_Picking.cpp.
bool Opcode::SetupInOutTest | ( | RayCollider & | collider | ) |
Definition at line 77 of file OPC_Picking.cpp.
bool Opcode::SetupShadowFeeler | ( | RayCollider & | collider | ) |
Definition at line 70 of file OPC_Picking.cpp.