#include "OPC_IceHook.h"
#include "OPC_Settings.h"
#include "OPC_Common.h"
#include "OPC_MeshInterface.h"
#include "OPC_TreeBuilders.h"
#include "OPC_AABBTree.h"
#include "OPC_OptimizedTree.h"
#include "OPC_BaseModel.h"
#include "OPC_Model.h"
#include "OPC_HybridModel.h"
#include "OPC_Collider.h"
#include "OPC_VolumeCollider.h"
#include "OPC_TreeCollider.h"
#include "OPC_RayCollider.h"
#include "OPC_SphereCollider.h"
#include "OPC_PlanesCollider.h"
#include "OPC_Picking.h"
Go to the source code of this file.
Namespaces | |
hrp | |
Opcode | |
Macros | |
#define | __int64 long long int |
#define | __stdcall /* */ |
#define | OPCODE_API |
Typedefs | |
typedef void(* | Opcode::CullingCallback) (udword nb_primitives, udword *node_primitives, BOOL need_clipping, void *user_data) |
typedef CullMode(* | Opcode::CullModeCallback) (udword triangle_index, void *user_data) |
typedef bool(* | Opcode::GenericWalkingCallback) (const void *current, void *user_data) |
typedef void(* | Opcode::HitCallback) (const CollisionFace &hit, void *user_data) |
typedef bool(* | Opcode::WalkingCallback) (const AABBTreeNode *current, udword depth, void *user_data) |
Enumerations | |
enum | Opcode::CollisionFlag { Opcode::OPC_FIRST_CONTACT = (1<<0), Opcode::OPC_TEMPORAL_COHERENCE = (1<<1), Opcode::OPC_CONTACT = (1<<2), Opcode::OPC_TEMPORAL_HIT = (1<<3), Opcode::OPC_NO_PRIMITIVE_TESTS = (1<<4), Opcode::OPC_CONTACT_FOUND = OPC_FIRST_CONTACT | OPC_CONTACT, Opcode::OPC_TEMPORAL_CONTACT = OPC_TEMPORAL_HIT | OPC_CONTACT, Opcode::OPC_FORCE_DWORD = 0x7fffffff } |
enum | Opcode::CullMode { Opcode::CULLMODE_NONE = 0, Opcode::CULLMODE_CW = 1, Opcode::CULLMODE_CCW = 2 } |
enum | Opcode::ModelFlag { Opcode::OPC_QUANTIZED = (1<<0), Opcode::OPC_NO_LEAF = (1<<1), Opcode::OPC_SINGLE_NODE = (1<<2) } |
enum | Opcode::SplittingRules { Opcode::SPLIT_LARGEST_AXIS = (1<<0), Opcode::SPLIT_SPLATTER_POINTS = (1<<1), Opcode::SPLIT_BEST_AXIS = (1<<2), Opcode::SPLIT_BALANCED = (1<<3), Opcode::SPLIT_FIFTY = (1<<4), Opcode::SPLIT_GEOM_CENTER = (1<<5), Opcode::SPLIT_FORCE_DWORD = 0x7fffffff } |
Tree splitting rules. More... | |
Functions | |
FUNCTION OPCODE_API bool | Opcode::CloseOpcode () |
FUNCTION OPCODE_API bool | Opcode::InitOpcode () |
OPCODE_API 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) |
OPCODE_API bool | Opcode::SetupAllHits (RayCollider &collider, CollisionFaces &contacts) |
OPCODE_API bool | Opcode::SetupClosestHit (RayCollider &collider, CollisionFace &closest_contact) |
OPCODE_API bool | Opcode::SetupInOutTest (RayCollider &collider) |
OPCODE_API bool | Opcode::SetupShadowFeeler (RayCollider &collider) |
inline_ void | Opcode::TransformPoint (Point &dest, const Point &source, const Matrix3x3 &rot, const Point &trans) |
Quickly rotates & translates a vector. More... | |