Provides information about the different VisArea volumes.
struct IVisArea { };
I3DEngine.h
virtual ~IVisArea();
Clips geometry inside or outside a vis area.
virtual bool ClipToVisArea(bool bInside, Sphere& sphere, Vec3 const& vNormal) = 0;
Whether geom was clipped.
Searches for the surrounding VisAreas.
virtual void FindSurroundingVisArea(int nMaxRecursion, bool bSkipDisabledPortals, PodArray<IVisArea*> * pVisitedAreas = NULL, int nMaxVisitedAreas = 0, int nDeepness = 0) = 0;
Parameters |
Description |
int nMaxRecursion |
The maximum number of recursion to do while searching |
bool bSkipDisabledPortals |
Will avoid searching disabled VisAreas |
PodArray |
if not NULL - will get list of all visited areas |
None.
Searches for the surrounding VisAreas which connected to the current VisArea.
Searches for a specified VisArea.
virtual bool FindVisArea(IVisArea * pAnotherArea, int nMaxRecursion, bool bSkipDisabledPortals) = 0;
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 |
True if the VisArea was found.
Searches for a specified VisArea to see if it's connected to the current VisArea.
Gives back the axis aligned bounding box of VisArea.
virtual const AABB* GetAABBox() const = 0;
Returns the pointer of a AABB.
virtual const Vec3 GetFinalAmbientColor() = 0;
none
Return vis area final ambient color (ambient color depends on factors, like if connected to outdoor, is affected by skycolor - etc)
virtual float GetHeight() = 0;
Gets the name. Notes: The name is always returned in lower case.
virtual const char * GetName() = 0;
A null terminated char array containing the name of the VisArea.
virtual void GetShapePoints(const Vec3 *& pPoints, size_t & nPoints) = 0;
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.
virtual const AABB* GetStaticObjectAABBox() const = 0;
Returns the pointer to the AABB.
Gets all the areas which are connected to the current one.
virtual int GetVisAreaConnections(IVisArea ** pAreas, int nMaxConnNum, bool bSkipDisabledPortals = false) = 0;
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.
Gets a list of all the VisAreas which are connected to the current one.
Gets the last rendered frame id.
virtual int GetVisFrameId() = 0;
An int which contains the frame id.
Determines if it's affected by outdoor lighting.
virtual bool IsAffectedByOutLights() = 0;
Returns true if the VisArea if it's affected by outdoor lighting, else false will be returned.
Determines if it's connected to an outdoor area.
virtual bool IsConnectedToOutdoor() = 0;
True if the VisArea is connected to an outdoor area.
Determines if the visarea ignores Global Illumination inside.
virtual bool IsIgnoringGI() const = 0;
True if the VisArea ignores Global Illumination inside.
Determines if the point can be affect the VisArea.
virtual bool IsPointInsideVisArea(const Vec3 & vPos) = 0;
Returns true if the VisArea can be affected by the point, else false will be returned.
Determines if this VisArea is a portal.
virtual bool IsPortal() = 0;
True if the VisArea is a portal, or false in the opposite case.
Determines if the spere can be affect the VisArea.
virtual bool IsSphereInsideVisArea(const Vec3 & vPos, const f32 fRadius) = 0;
Returns true if the VisArea can be affected by the sphere, else false will be returned.