csPolyIndexed Class Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Attributes
csPolyIndexed Class Reference
Geometry utilities

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

`#include <csgeom/polyidx.h>`

List of all members.

## Public Member Functions
int | AddVertex (int i)
| Add a vertex index to the polygon.
| csPolyIndexed (int start_size=10)
| Make a new empty polygon.
| csPolyIndexed (csPolyIndexed &copy)
| Copy constructor.
int | GetVertex (int i) const
| Get the specified vertex index.
int | GetVertexCount () const
| Get the number of vertices.
int * | GetVertexIndices ()
| Get the array with all vertex indices.
const int * | GetVertexIndices () const
| Get the array with all vertex indices.
void | MakeEmpty ()
| Initialize the polygon to empty.
void | MakeRoom (int new_max)
| Make room for at least the specified number of vertices.
csPolyIndexed & | operator= (const csPolyIndexed &other)
| Assignment operator.
int & | operator[] (int i)
| Get the specified vertex index.
int & | operator[] (int i) const
| Get the specified vertex index.
virtual | ~csPolyIndexed ()
| Destructor.
## Protected Attributes
int * | vertices_idx
| The vertex indices.

## 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 38 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 86 of file polyidx.h.

int csPolyIndexed::GetVertexCount | ( |  | ) | const`[inline]`

Get the number of vertices.

Definition at line 71 of file polyidx.h.

int* csPolyIndexed::GetVertexIndices | ( |  | ) | `[inline]`

Get the array with all vertex indices.

Definition at line 76 of file polyidx.h.

const int* csPolyIndexed::GetVertexIndices | ( |  | ) | const`[inline]`

Get the array with all vertex indices.

Definition at line 81 of file polyidx.h.

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 | ) | `[inline]`

Get the specified vertex index.

Definition at line 95 of file polyidx.h.

int& csPolyIndexed::operator[] | ( | int | i | ) | const`[inline]`

Get the specified vertex index.

Definition at line 104 of file polyidx.h.

## Member Data Documentation

int* csPolyIndexed::vertices_idx`[protected]`

The vertex indices.

Definition at line 42 of file polyidx.h.

The documentation for this class was generated from the following file:

- csgeom/polyidx.h