CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

csPolyIndexed Class Reference
[Geometry utilities]

The following class represents a general polygon. More...

#include <polyidx.h>

List of all members.

Public Methods

 csPolyIndexed (int start_size=10)
 Make a new empty polygon. More...

 csPolyIndexed (csPolyIndexed &copy)
 Copy constructor. More...

virtual ~csPolyIndexed ()
 Destructor. More...

csPolyIndexed & operator= (const csPolyIndexed &other)
 Assignment operator. More...

void MakeEmpty ()
 Initialize the polygon to empty. More...

int GetVertexCount () const
 Get the number of vertices. More...

int * GetVertexIndices ()
 Get the array with all vertex indices. More...

const int * GetVertexIndices () const
 Get the array with all vertex indices. More...

int GetVertex (int i) const
 Get the specified vertex index. More...

int & operator[] (int i)
 Get the specified vertex index. More...

int & operator[] (int i) const
 Get the specified vertex index. More...

void MakeRoom (int new_max)
 Make room for at least the specified number of vertices. More...

int AddVertex (int i)
 Add a vertex index to the polygon. More...


Protected Attributes

int * vertices_idx
 The vertex indices. More...


Detailed Description

The following class represents a general polygon.

Vertices are indexed relative to some vertex array instead of directly represented in the polygon. Note that this polygon has no knowledge of the actual values of the vertices. It only keeps the indices. So it can actually be used both for 3D and 2D polygons.

Definition at line 35 of file polyidx.h.


Constructor & Destructor Documentation

csPolyIndexed::csPolyIndexed int    start_size = 10
 

Make a new empty polygon.

csPolyIndexed::csPolyIndexed csPolyIndexed &    copy
 

Copy constructor.

virtual csPolyIndexed::~csPolyIndexed   [virtual]
 

Destructor.


Member Function Documentation

int csPolyIndexed::AddVertex int    i
 

Add a vertex index to the polygon.

Return index of added index.

int csPolyIndexed::GetVertex int    i const [inline]
 

Get the specified vertex index.

Definition at line 83 of file polyidx.h.

References vertices_idx.

int csPolyIndexed::GetVertexCount   const [inline]
 

Get the number of vertices.

Definition at line 68 of file polyidx.h.

const int* csPolyIndexed::GetVertexIndices   const [inline]
 

Get the array with all vertex indices.

Definition at line 78 of file polyidx.h.

References vertices_idx.

int* csPolyIndexed::GetVertexIndices   [inline]
 

Get the array with all vertex indices.

Definition at line 73 of file polyidx.h.

References vertices_idx.

void csPolyIndexed::MakeEmpty  
 

Initialize the polygon to empty.

void csPolyIndexed::MakeRoom int    new_max
 

Make room for at least the specified number of vertices.

csPolyIndexed& csPolyIndexed::operator= const csPolyIndexed &    other
 

Assignment operator.

int& csPolyIndexed::operator[] int    i const [inline]
 

Get the specified vertex index.

Definition at line 101 of file polyidx.h.

References vertices_idx.

int& csPolyIndexed::operator[] int    i [inline]
 

Get the specified vertex index.

Definition at line 92 of file polyidx.h.

References vertices_idx.


Member Data Documentation

int* csPolyIndexed::vertices_idx [protected]
 

The vertex indices.

Definition at line 39 of file polyidx.h.

Referenced by GetVertex, GetVertexIndices, and operator[].


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.14