Bounding volume interface.
Public Member Functions | |
| virtual tBool | Copy (iBoundingVolume *apSrc)=0 |
| Copy another bounding volume in this volume. More... | |
| virtual iBoundingVolume * | Clone () const =0 |
| Create a copy of the bounding volume. More... | |
| virtual eBoundingVolumeType | GetType () const =0 |
| Get the bounding volume type. {Property}. More... | |
Public Member Functions inherited from iUnknown | |
| virtual tBool | IsOK () const =0 |
| Check if the object is valid. More... | |
| virtual tI32 | AddRef ()=0 |
| Signal that one more reference of the object has been created. More... | |
| virtual tI32 | Release ()=0 |
| Release a reference of the object. More... | |
| virtual void | DeleteThis ()=0 |
| Bypass any reference counting and delete this object. More... | |
| virtual void | Invalidate ()=0 |
| Invalidate the object. More... | |
| virtual iUnknown * | QueryInterface (const tUUID &aIID)=0 |
| Query an interface. More... | |
| virtual void | ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0 |
| Fill a UUID list containing the UUIDs of the implemented interfaces. More... | |
| virtual tI32 | SetNumRefs (tI32 anNumRefs)=0 |
| Set the reference counter directly. More... | |
| virtual tI32 | GetNumRefs () const =0 |
| Get the number of references to this object. More... | |
Computation | |
| virtual tBool | Begin (tBool abReset)=0 |
| Begin the computation of the bounding volume. More... | |
| virtual tBool | End ()=0 |
| End the computation of the bounding volume. More... | |
| virtual tBool | AddPoint (const sVec3f &avPoint)=0 |
| Add a point inside the bounding volume. More... | |
Transformations | |
| virtual tBool | SetCenter (const sVec3f &avPos)=0 |
| Set the center. {Property}. More... | |
| virtual sVec3f | GetCenter () const =0 |
| Get the center. {Property}. More... | |
| virtual void | SetRadius (tF32 afRadius)=0 |
| Set the radius. {Property}. More... | |
| virtual tF32 | GetRadius () const =0 |
| Get the radius. {Property}. More... | |
| virtual void | SetExtents (const sVec3f &avExtends)=0 |
| Set the extents. {Property}. More... | |
| virtual sVec3f | GetExtents () const =0 |
| Get the extents. {Property}. More... | |
| virtual void | SetSize (const sVec3f &avSize)=0 |
| Set the size. {Property}. More... | |
| virtual sVec3f | GetSize () const =0 |
| Get the size. {Property}. More... | |
| virtual void | SetMin (const sVec3f &avMin)=0 |
| Set the minimum value. {Property}. More... | |
| virtual sVec3f | GetMin () const =0 |
| Get the minimum value. {Property}. More... | |
| virtual void | SetMax (const sVec3f &avMax)=0 |
| Set the maximum value. {Property}. More... | |
| virtual sVec3f | GetMax () const =0 |
| Get the maximum value. {Property}. More... | |
| virtual tBool | Translate (const sVec3f &avV)=0 |
| Translate the bounding volume. More... | |
| virtual tBool | Rotate (const sMatrixf &amtxRotation)=0 |
| Rotate the bounding volume. More... | |
| virtual tBool | Transform (const sMatrixf &aMatrix)=0 |
| Transform by the specified matrix. More... | |
| virtual void | Inflate (tF32 afPercent)=0 |
| Inflate the bounding volume by the given percentage. More... | |
Intersection tests | |
| virtual eIntersectionResult | IntersectAABB (iIntersection *apResult, const sVec3f &avMin, const sVec3f &avMax) const =0 |
| Intersect with an AABB. More... | |
| virtual eIntersectionResult | IntersectRay (iIntersection *apResult, const sVec3f &avOrg, const sVec3f &avDir) const =0 |
| Intersect with a ray. More... | |
| virtual eIntersectionResult | IntersectPoint (iIntersection *apResult, const sVec3f &aPosition) const =0 |
| Intersect with a point. More... | |
| virtual eIntersectionResult | IntersectFrustum (iIntersection *apResult, const iFrustum *apFrustum) const =0 |
| Intersect with a frustum. More... | |
|
pure virtual |
Copy another bounding volume in this volume.
|
pure virtual |
Create a copy of the bounding volume.
|
pure virtual |
Get the bounding volume type. {Property}.
|
pure virtual |
End the computation of the bounding volume.
Add a point inside the bounding volume.
|
pure virtual |
Get the center. {Property}.
|
pure virtual |
Get the radius. {Property}.
|
pure virtual |
Get the extents. {Property}.
|
pure virtual |
Get the size. {Property}.
|
pure virtual |
Get the minimum value. {Property}.
|
pure virtual |
Get the maximum value. {Property}.
Inflate the bounding volume by the given percentage.
|
pure virtual |
Intersect with an AABB.
|
pure virtual |
Intersect with a ray.
|
pure virtual |
Intersect with a point.
|
pure virtual |
Intersect with a frustum.
1.8.7