ScummVM API documentation
hpl::cPortalContainer Class Reference
Inheritance diagram for hpl::cPortalContainer:
hpl::iRenderableContainer

Public Member Functions

bool AddEntity (iEntity3D *pEntity)
 
bool RemoveEntity (iEntity3D *pEntity)
 
bool Add (iRenderable *apRenderable, bool abStatic)
 
bool Remove (iRenderable *apRenderable)
 
void AddLightShadowCasters (iLight3D *apLight, cFrustum *apFrustum, cRenderList *apRenderList)
 
void AddToRenderList (iRenderable *apObject, cFrustum *apFrustum, cRenderList *apRenderList)
 
void GetVisible (cFrustum *apFrustum, cRenderList *apRenderList)
 
void Compile ()
 
void AddSector (tString asSectorId)
 
bool AddToSector (iRenderable *apRenderable, tString asSector)
 
bool AddPortal (cPortal *apPortal, tString asSector)
 
cSector * GetSector (tString asId)
 
int GetSectorVisitCount () const
 
cPortalContainerEntityIterator GetEntityIterator (cBoundingVolume *apBV)
 
cSectorVisibilityContainer * CreateVisibiltyFromBV (cBoundingVolume *apBV)
 
cSectorVisibilityContainer * CreateVisibiltyFromFrustum (cFrustum *apFrustum)
 
tSectorMap * GetSectorMap ()
 
tStringList * GetVisibleSectorsList ()
 
tRenderableSet * GetGlobalDynamicObjectSet ()
 
tRenderableList * GetGlobalStaticObjectList ()
 
virtual bool Add (iRenderable *apRenderable, bool abStatic)=0
 
virtual bool Remove (iRenderable *apRenderable)=0
 
virtual void GetVisible (cFrustum *apFostrum, cRenderList *apRenderList)=0
 
virtual void Compile ()=0
 

Member Function Documentation

◆ Add()

bool hpl::cPortalContainer::Add ( iRenderable *  apRenderable,
bool  abStatic 
)
virtual

Add a new object to the container.

Parameters
*apRenderablethe object
abStatictrue if the object will not move, else false.
Returns
true if success, else false

Implements hpl::iRenderableContainer.

◆ Remove()

bool hpl::cPortalContainer::Remove ( iRenderable *  apRenderable)
virtual

Removes the object, only non static are guaranteed to be found.

Parameters
*apRenderablethe object
Returns
true if success, else false

Implements hpl::iRenderableContainer.

◆ GetVisible()

void hpl::cPortalContainer::GetVisible ( cFrustum *  apFostrum,
cRenderList *  apRenderList 
)
virtual

Populate the renderlist with all objects visible in a fostrum.

Parameters
apFostrum
*apRenderList

Implements hpl::iRenderableContainer.

◆ Compile()

void hpl::cPortalContainer::Compile ( )
virtual

Sets up things like octrees so that the container is ready to use.

Implements hpl::iRenderableContainer.

◆ AddSector()

void hpl::cPortalContainer::AddSector ( tString  asSectorId)

Adds a new sector to the container. All sectors must be created before anything else.

◆ AddToSector()

bool hpl::cPortalContainer::AddToSector ( iRenderable *  apRenderable,
tString  asSector 
)

Adds a new renderable to a specific sector.This also recalculates the sector's bounding volume. Object must be (and is considered) static!


The documentation for this class was generated from the following file: