IVisArea

Provides information about the different VisArea volumes. More...

#include

Inherits IClipVolume.

Public Member Functions

virtual int GetVisFrameId ()=0
virtual int GetVisAreaConnections (IVisArea **pAreas, int nMaxConnNum, bool bSkipDisabledPortals=false)=0
virtual bool IsConnectedToOutdoor () const =0
virtual bool IsIgnoringGI () const =0
virtual bool IsIgnoringOutdoorAO () const =0
virtual const char * GetName ()=0
virtual bool IsPortal () const =0
virtual bool FindVisArea (IVisArea *pAnotherArea, int nMaxRecursion, bool bSkipDisabledPortals)=0
virtual void FindSurroundingVisArea (int nMaxRecursion, bool bSkipDisabledPortals, PodArray< IVisArea *> *pVisitedAreas=NULL, int nMaxVisitedAreas=0, int nDeepness=0)=0
virtual bool IsAffectedByOutLights () const =0
virtual bool IsSphereInsideVisArea (const Vec3 &vPos, const f32 fRadius)=0
virtual bool ClipToVisArea (bool bInside, Sphere &sphere, Vec3 const &vNormal)=0
virtual const AABB * GetAABBox () const =0
virtual const AABB * GetStaticObjectAABBox () const =0
virtual bool IsPointInsideVisArea (const Vec3 &vPos) const =0
virtual const Vec3 GetFinalAmbientColor ()=0
virtual void GetShapePoints (const Vec3 *&pPoints, size_t &nPoints)=0
virtual float GetHeight ()=0

Detailed Description

Provides information about the different VisArea volumes.

Member Function Documentation

◆ ClipToVisArea()

virtual bool IVisArea::ClipToVisArea ( bool bInside,
Sphere & sphere,
Vec3 const & vNormal
)
pure virtual

Clips geometry inside or outside a vis area.

Returns
true if geom was clipped.

◆ FindSurroundingVisArea()

virtual void IVisArea::FindSurroundingVisArea ( int nMaxRecursion,
bool bSkipDisabledPortals,
PodArray< IVisArea *> * pVisitedAreas = NULL,
int nMaxVisitedAreas = 0,
int nDeepness = 0
)
pure virtual

Searches for the surrounding VisAreas. Searches for the surrounding VisAreas which connected to the current VisArea.

Parameters
nMaxRecursionThe maximum number of recursion to do while searching
bSkipDisabledPortalsWill avoid searching disabled VisAreas
pVisitedAreasif not NULL - will get list of all visited areas

◆ FindVisArea()

virtual bool IVisArea::FindVisArea ( IVisArea * pAnotherArea,
int nMaxRecursion,
bool bSkipDisabledPortals
)
pure virtual

Searches for a specified VisArea. Searches for a specified VisArea to see if it's connected to the current VisArea.

Parameters
pAnotherAreaA specified VisArea to find
nMaxRecursionThe maximum number of recursion to do while searching
bSkipDisabledPortalsWill avoid searching disabled VisAreas
pVisitedAreasIf not NULL - will get list of all visited areas
Returns
True if the VisArea was found.

◆ GetAABBox()

virtual const AABB* IVisArea::GetAABBox ( ) const
pure virtual

Gives back the axis aligned bounding box of VisArea.

Returns
the pointer of an AABB.

◆ GetFinalAmbientColor()

virtual const Vec3 IVisArea::GetFinalAmbientColor ( )
pure virtual
Returns
vis area final ambient color (ambient color depends on factors, like if connected to outdoor, is affected by skycolor - etc)

◆ GetName()

virtual const char* IVisArea::GetName ( )
pure virtual

Gets the name.

Note
The name is always returned in lower case.
Returns
A null terminated char array containing the name of the VisArea.

◆ GetStaticObjectAABBox()

virtual const AABB* IVisArea::GetStaticObjectAABBox ( ) const
pure virtual

Gives back the axis aligned bounding box of all static objects in the VisArea. This AABB can be larger than the ViaArea AABB as some objects might not be completely inside the VisArea.

Returns
Returns the pointer to the AABB.

◆ GetVisAreaConnections()

virtual int IVisArea::GetVisAreaConnections ( IVisArea ** pAreas,
int nMaxConnNum,
bool bSkipDisabledPortals = false
)
pure virtual

Gets all the areas which are connected to the current one. Gets a list of all the VisAreas which are connected to the current one. If the return is equal to nMaxConnNum, it's possible that not all connected VisAreas were returned due to the restriction imposed by the argument.

Parameters
pAreas- Pointer to an array of IVisArea*
nMaxConnNum- The maximum of IVisArea to write in pAreas
bSkipDisabledPortals- Ignore portals which are disabled
Returns
An integer which hold the amount of VisArea found to be connected.

◆ GetVisFrameId()

virtual int IVisArea::GetVisFrameId ( )
pure virtual

Gets the last rendered frame id.

Returns
An int which contains the frame id.

◆ IsAffectedByOutLights()

virtual bool IVisArea::IsAffectedByOutLights ( ) const
pure virtual

Determines if it's affected by outdoor lighting.

Returns
true if the VisArea if it's affected by outdoor lighting, else false will be returned.

◆ IsConnectedToOutdoor()

virtual bool IVisArea::IsConnectedToOutdoor ( ) const
pure virtual

Determines if it's connected to an outdoor area.

Returns
True if the VisArea is connected to an outdoor area.

◆ IsIgnoringGI()

virtual bool IVisArea::IsIgnoringGI ( ) const
pure virtual

Determines if the visarea ignores Global Illumination inside.

Returns
True if the VisArea ignores Global Illumination inside.

◆ IsIgnoringOutdoorAO()

virtual bool IVisArea::IsIgnoringOutdoorAO ( ) const
pure virtual

Determines if the visarea ignores Outdoor Ambient occlusion inside.

Returns
True if the VisArea ignores Outdoor Ambient Occlusion inside.

◆ IsPointInsideVisArea()

virtual bool IVisArea::IsPointInsideVisArea ( const Vec3 & vPos) const
pure virtual

Determines if the point can be affect the VisArea.

Returns
Returns true if the VisArea can be affected by the point, else false will be returned.

◆ IsPortal()

virtual bool IVisArea::IsPortal ( ) const
pure virtual

Determines if this VisArea is a portal.

Returns
True if the VisArea is a portal, or false in the opposite case.

◆ IsSphereInsideVisArea()

virtual bool IVisArea::IsSphereInsideVisArea ( const Vec3 & vPos,
const f32 fRadius
)
pure virtual

Determines if the spere can be affect the VisArea.

Returns
Returns true if the VisArea can be affected by the sphere, else false will be returned.