IVisArea

Provides information about the different VisArea volumes.

C++
struct IVisArea {
};
File

I3DEngine.h

IVisArea::~IVisArea Destructor
C++
virtual ~IVisArea();
IVisArea::ClipToVisArea Method

Clips geometry inside or outside a vis area.

C++
virtual bool ClipToVisArea(bool bInside, Sphere& sphere, Vec3 const& vNormal) = 0;
Returns

Whether geom was clipped.

IVisArea::FindSurroundingVisArea Method

Searches for the surrounding VisAreas.

C++
virtual void FindSurroundingVisArea(int nMaxRecursion, bool bSkipDisabledPortals, PodArray<IVisArea*> * pVisitedAreas = NULL, int nMaxVisitedAreas = 0, int nDeepness = 0) = 0;
Parameters
Parameters
Description
int nMaxRecursion
The maximum number of recursion to do while searching
bool bSkipDisabledPortals
Will avoid searching disabled VisAreas
PodArray * pVisitedAreas = NULL
if not NULL - will get list of all visited areas
Returns

None.

Description

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

IVisArea::FindVisArea Method

Searches for a specified VisArea.

C++
virtual bool FindVisArea(IVisArea * pAnotherArea, int nMaxRecursion, bool bSkipDisabledPortals) = 0;
Parameters
Parameters
Description
IVisArea * pAnotherArea
A specified VisArea to find
int nMaxRecursion
The maximum number of recursion to do while searching
bool bSkipDisabledPortals
Will avoid searching disabled VisAreas
pVisitedAreas
if not NULL - will get list of all visited areas
Returns

True if the VisArea was found.

Description

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

IVisArea::GetAABBox Method

Gives back the axis aligned bounding box of VisArea.

C++
virtual const AABB* GetAABBox() const = 0;
Returns

Returns the pointer of a AABB.

IVisArea::GetFinalAmbientColor Method
C++
virtual const Vec3 GetFinalAmbientColor() = 0;
Returns

none

Description

Return vis area final ambient color (ambient color depends on factors, like if connected to outdoor, is affected by skycolor - etc)

IVisArea::GetHeight Method
C++
virtual float GetHeight() = 0;
IVisArea::GetName Method

Gets the name. Notes: The name is always returned in lower case.

C++
virtual const char * GetName() = 0;
Returns

A null terminated char array containing the name of the VisArea.

IVisArea::GetShapePoints Method
C++
virtual void GetShapePoints(const Vec3 *& pPoints, size_t & nPoints) = 0;
IVisArea::GetStaticObjectAABBox Method

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

C++
virtual const AABB* GetStaticObjectAABBox() const = 0;
Returns

Returns the pointer to the AABB.

IVisArea::GetVisAreaConnections Method

Gets all the areas which are connected to the current one.

C++
virtual int GetVisAreaConnections(IVisArea ** pAreas, int nMaxConnNum, bool bSkipDisabledPortals = false) = 0;
Parameters
Parameters
Description
IVisArea ** pAreas
Pointer to an array of IVisArea*
int nMaxConnNum
The maximum of IVisArea to write in pAreas
bool bSkipDisabledPortals = false
Ignore portals which are disabled
Returns

An integer which hold the amount of VisArea found to be connected. 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.

Description

Gets a list of all the VisAreas which are connected to the current one.

IVisArea::GetVisFrameId Method

Gets the last rendered frame id.

C++
virtual int GetVisFrameId() = 0;
Returns

An int which contains the frame id.

IVisArea::IsAffectedByOutLights Method

Determines if it's affected by outdoor lighting.

C++
virtual bool IsAffectedByOutLights() = 0;
Returns

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

IVisArea::IsConnectedToOutdoor Method

Determines if it's connected to an outdoor area.

C++
virtual bool IsConnectedToOutdoor() = 0;
Returns

True if the VisArea is connected to an outdoor area.

IVisArea::IsIgnoringGI Method

Determines if the visarea ignores Global Illumination inside.

C++
virtual bool IsIgnoringGI() const = 0;
Returns

True if the VisArea ignores Global Illumination inside.

IVisArea::IsPointInsideVisArea Method

Determines if the point can be affect the VisArea.

C++
virtual bool IsPointInsideVisArea(const Vec3 & vPos) = 0;
Returns

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

IVisArea::IsPortal Method

Determines if this VisArea is a portal.

C++
virtual bool IsPortal() = 0;
Returns

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

IVisArea::IsSphereInsideVisArea Method

Determines if the spere can be affect the VisArea.

C++
virtual bool IsSphereInsideVisArea(const Vec3 & vPos, const f32 fRadius) = 0;
Returns

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