vtdata library
Public Member Functions | Public Attributes | Friends | List of all members
vtLevel Class Reference

Public Member Functions

 vtLevel (const vtLevel &from)
vtLeveloperator= (const vtLevel &v)
void DeleteEdge (int iEdge)
bool AddEdge (const int iEdge, const DPoint2 &Point)
int NumEdges () const
vtEdgeGetEdge (uint i) const
float GetEdgeLength (uint i) const
float GetLocalEdgeLength (uint i) const
const vtString GetOverallEdgeMaterial ()
bool GetOverallEdgeColor (RGBi &color)
RoofType GuessRoofType () const
void FlipFootprintDirection ()
bool HasSlopedEdges () const
bool IsHorizontal () const
bool IsEdgeConvex (int i)
bool IsCornerConvex (int i)
bool IsUniform () const
void SetEdgeMaterial (const char *matname)
void SetEdgeMaterial (const vtString *matname)
void SetEdgeColor (RGBi color)
void SetRoofType (RoofType rt, int iSlopeDegrees)
void SetEaveLength (float fMeters)
void SetFootprint (const DLine2 &dl)
void SetFootprint (const DPolygon2 &poly)
void ResizeEdgesToMatchFootprint ()
DPolygon2GetFootprint ()
const DPolygon2GetFootprint () const
DLine2GetOuterFootprint ()
const DLine2GetOuterFootprint () const
void DetermineLocalFootprint (float fHeight, const LocalCS &local_cs)
const FPolygon3GetLocalFootprint () const

Public Attributes

uint m_iStories
float m_fStoryHeight


class vtBuilding

Detailed Description

The vtLevel class represents a level of a building. In the VTP's parametric building representation, each building is composed of one or more levels, and each level is defined horizontally by a number of edges (vtEdge) and vertical by a story height and number of stories. The edges contain further description of the appearance of each side of this level of the building.

Generally, a simple building will have two levels: one for the walls, and one for the roof. Some buildings may have an additional level for base, such as a cement foundation.

Each level can have its own footprint polygon, although in simple cases they will all be the same polygon.

Member Function Documentation

bool vtLevel::IsUniform ( ) const

Returns true if this level consists of edges with identical, evenly spaced windows.