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
 

Friends

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.