|
OPC_OptimizedTree.h File Reference
Detailed Description
Contains code for optimized trees.
-
Author:
-
Pierre Terdiman
-
Date:
-
March, 20, 2001
Define Documentation
| #define IMPLEMENT_COLLISION_TREE |
( |
baseclass, |
|
|
volume |
|
) |
|
|
|
|
Value: public: \
\
baseclass(); \
virtual ~baseclass(); \
\
virtual bool Build(AABBTree* tree); \
\
__forceinline const volume* GetNodes() const { return mNodes; } \
\
virtual udword GetUsedBytes() const { return mNbNodes*sizeof(volume); } \
private: \
volume* mNodes; |
| #define IMPLEMENT_COLLISION_TREE |
( |
baseclass, |
|
|
volume |
|
) |
|
|
|
|
Value: public: \
\
baseclass(); \
virtual ~baseclass(); \
\
virtual bool Build(AABBTree* tree); \
\
__forceinline const volume* GetNodes() const { return mNodes; } \
\
virtual udword GetUsedBytes() const { return mNbNodes*sizeof(volume); } \
private: \
volume* mNodes; |
| #define IMPLEMENT_IMPLICIT_NODE |
( |
baseclass, |
|
|
volume |
|
) |
|
|
|
|
Value: public: \
\
__forceinline baseclass() : mData(0) {} \
__forceinline ~baseclass() {} \
\
__forceinline BOOL IsLeaf() const { return mData&1; } \
\
__forceinline const baseclass* GetPos() const { return (baseclass*)mData; } \
__forceinline const baseclass* GetNeg() const { return ((baseclass*)mData)+1; } \
__forceinline udword GetPrimitive() const { return (mData>>1); } \
\
__forceinline udword GetNodeSize() const { return SIZEOFOBJECT; } \
\
volume mAABB; \
udword mData; |
| #define IMPLEMENT_IMPLICIT_NODE |
( |
baseclass, |
|
|
volume |
|
) |
|
|
|
|
Value: public: \
\
__forceinline baseclass() : mData(0) {} \
__forceinline ~baseclass() {} \
\
__forceinline BOOL IsLeaf() const { return mData&1; } \
\
__forceinline const baseclass* GetPos() const { return (baseclass*)mData; } \
__forceinline const baseclass* GetNeg() const { return ((baseclass*)mData)+1; } \
__forceinline udword GetPrimitive() const { return (mData>>1); } \
\
__forceinline udword GetNodeSize() const { return SIZEOFOBJECT; } \
\
volume mAABB; \
udword mData; |
| #define IMPLEMENT_NOLEAF_NODE |
( |
baseclass, |
|
|
volume |
|
) |
|
|
|
|
Value: public: \
\
__forceinline baseclass() : mData(0), mData2(0) {} \
__forceinline ~baseclass() {} \
\
__forceinline BOOL HasLeaf() const { return mData&1; } \
__forceinline BOOL HasLeaf2() const { return mData2&1; } \
\
__forceinline const baseclass* GetPos() const { return (baseclass*)mData; } \
__forceinline const baseclass* GetNeg() const { return (baseclass*)mData2; } \
__forceinline udword GetPrimitive() const { return (mData>>1); } \
__forceinline udword GetPrimitive2() const { return (mData2>>1); } \
\
__forceinline udword GetNodeSize() const { return SIZEOFOBJECT; } \
\
volume mAABB; \
udword mData; \
udword mData2; |
| #define IMPLEMENT_NOLEAF_NODE |
( |
baseclass, |
|
|
volume |
|
) |
|
|
|
|
Value: public: \
\
__forceinline baseclass() : mData(0), mData2(0) {} \
__forceinline ~baseclass() {} \
\
__forceinline BOOL HasLeaf() const { return mData&1; } \
__forceinline BOOL HasLeaf2() const { return mData2&1; } \
\
__forceinline const baseclass* GetPos() const { return (baseclass*)mData; } \
__forceinline const baseclass* GetNeg() const { return (baseclass*)mData2; } \
__forceinline udword GetPrimitive() const { return (mData>>1); } \
__forceinline udword GetPrimitive2() const { return (mData2>>1); } \
\
__forceinline udword GetNodeSize() const { return SIZEOFOBJECT; } \
\
volume mAABB; \
udword mData; \
udword mData2; |
Flat Four Engine
Copyright (C) 2001 by 379, Inc.
|
This page generated by Doxygen
|
|