3 #include "ShapeSphere.h" 4 #include <boost/circular_buffer.hpp> 52 typedef boost::circular_buffer < PCPlane * > PCPlaneList;
76 void setOrigin(
const Vector3 & newOrigin);
79 bool isVisible(
const CShapeAABB &bound)
const;
92 bool CanSeeObject_CompleteCull(
IViewClippingObject * pViewClippingObject,
int nFullCullIndex=-1)
const;
100 bool isVisible (
CPortalNode * portal,
bool bIgnorePortalDirection =
true);
103 Visibility getVisibility(
const CShapeAABB & bound);
108 int AddPortalCullingPlanes(
CPortalNode * portal,
bool bAutoDirection =
true);
113 bool AddCullingPlane(
const Plane& plane,
bool bAddToFront =
true);
121 int AddFrustum(
CShapeFrustum * frustum,
float fNearPlaneShiftDistance = 0.f);
124 void RemovePortalCullingPlanes(
CPortalNode *portal);
127 void RemoveAllExtraCullingPlanes(
void);
130 PCPlane * getUnusedCullingPlane(
void);
134 PCPlaneList m_ActiveCullingPlanes;
135 PCPlaneList m_CullingPlaneReservoir;
Definition: combase.h:159
Pure interface for CBaseObject (3D scene object) It defines basic shapes and collision detection...
Definition: IViewClippingObject.h:29
different physics engine has different winding order.
Definition: EventBinding.h:32
void SetPlane(const Plane &plane)
Copy from a standard Plane.
Definition: PortalFrustum.cpp:41
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
Definition: ShapeSphere.h:6
AABB-related code.
Definition: ShapeAABB.h:11
almost the same as Plane, except that it keeps a pointer to the containing portal.
Definition: PortalFrustum.h:14
Specialized frustum shaped culling volume that has culling planes created from portals This isn't rea...
Definition: PortalFrustum.h:61
~PCPlane()
Standard destructor.
Definition: PortalFrustum.cpp:46
Defines a plane in 3D space.
Definition: ParaPlane.h:23
CPortalNode * GetPortal()
Returns the Portal that was used to create this plane.
Definition: PortalFrustum.h:34
void SetPortal(CPortalNode *o)
Sets the Portal that was used to create this plane.
Definition: PortalFrustum.h:41
Portal rendering: portal class a portal can be connected to one or two zones.
Definition: PortalNode.h:15
PCPlane()
Standard constructor.
Definition: PortalFrustum.cpp:21
a general view frustum class.
Definition: ShapeFrustum.h:9
CPortalNode * m_portal
Portal used to create this plane.
Definition: PortalFrustum.h:44