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

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# FCDGeometry Class Reference
[COLLADA Document Geometry Entity]

A COLLADA geometry entity. More...

`#include <FCDGeometry.h>`

Inheritance diagram for FCDGeometry:

List of all members.

## Public Member Functions
| FCDGeometry (FCDocument *document)
| Contructor: do not use directly.
virtual | ~FCDGeometry ()
| Destructor.
void | SetMesh (FCDGeometryMesh *data)
| [INTERNAL] Set geometry information.
void | SetSpline (FCDGeometrySpline *data)
virtual Type | GetType () const
| Retrieves the entity class type.
bool | IsMesh () const
| Retrieves whether the type of this geometry is a mesh.
FCDGeometryMesh * | GetMesh ()
| Retrieves the mesh information structure for this geometry.
const FCDGeometryMesh * | GetMesh () const
| See above.
FCDGeometryMesh * | CreateMesh ()
| Sets the type of this geometry to mesh and creates an empty mesh structure.
bool | IsSpline () const
| Retrieves whether the type of this geometry is a spline.
FCDGeometrySpline * | GetSpline ()
| Retrieves the spline information structure for this geometry.
const FCDGeometrySpline * | GetSpline () const
| See above.
FCDGeometrySpline * | CreateSpline ()
| Sets the type of this geometry to spline and creates an empty spline structure.
bool | IsPSurface () const
| Retrieves whether the type of this geometry is a parameterized surface.
virtual FCDEntity * | Clone (FCDEntity *clone=NULL, bool cloneChildren=false) const
| Copies the geometry entity into a clone.

## Detailed Description

A COLLADA geometry entity.

There are three types of COLLADA geometry entities: meshes, NURBS surfaces and splines. NURBS Surfaces are part of the Premium Build only.*

Meshes are collections of polygons where the vertices always have a position, usually have a normal to define smooth or hard edges and may be colored or textured.

Parameterized surfaces (PSurface) are a list of parameterized patches defined as a sequence of weighted control points that may be associated with two knot vectors and possibly trimming curves to define a 3D surface.

Note: "PSurfaces" are part of the Premium Build only.

Splines are a sequence of control points used to generate a smooth curve.

## Constructor & Destructor Documentation

FCDGeometry::FCDGeometry | ( | FCDocument * | document | ) |

  | Contructor: do not use directly. Create new geometries using the FCDLibrary::AddEntity function. Parameters:
  | document | The COLLADA document which owns the new geometry entity.

## Member Function Documentation

virtual FCDEntity* FCDGeometry::Clone | ( | FCDEntity * | clone = `NULL`,
|  | bool | cloneChildren = `false`
| ) | const`[virtual]`

  | Copies the geometry entity into a clone. The clone may reside in another document. Parameters:
  | clone | The empty clone. If this pointer is NULL, a new geometry entity will be created and you will need to release the returned pointer manually.
  | cloneChildren | Whether to recursively clone this entity's children.
Returns: The clone. Reimplemented from FCDEntity.

FCDGeometryMesh* FCDGeometry::CreateMesh | ( |  | ) |

| Sets the type of this geometry to mesh and creates an empty mesh structure. This function will release any mesh or spline structure that the geometry may already contain Returns: The mesh information structure. This pointer will always be valid.

FCDGeometrySpline* FCDGeometry::CreateSpline | ( |  | ) |

| Sets the type of this geometry to spline and creates an empty spline structure. This function will release any mesh or spline structure that the geometry may already contain. Returns: The spline information structure. This pointer will always be valid.

FCDGeometryMesh* FCDGeometry::GetMesh | ( |  | ) | `[inline]`

| Retrieves the mesh information structure for this geometry. Verify that this geometry is a mesh using the IsMesh function prior to calling this function. Returns: The mesh information structure. This pointer will be NULL when the geometry is a spline or is undefined.

FCDGeometrySpline* FCDGeometry::GetSpline | ( |  | ) | `[inline]`

| Retrieves the spline information structure for this geometry. Verify that this geometry is a spline using the IsSpline function prior to calling this function. Returns: The spline information structure. This pointer will be NULL when the geometry is a mesh or is undefined.

virtual Type FCDGeometry::GetType | ( |  | ) | const`[inline, virtual]`

| Retrieves the entity class type. This function is a part of the FCDEntity interface. Returns: The entity class type: GEOMETRY. Reimplemented from FCDEntity.

bool FCDGeometry::IsMesh | ( |  | ) | const`[inline]`

| Retrieves whether the type of this geometry is a mesh. Returns: Whether this geometry is a mesh.

bool FCDGeometry::IsPSurface | ( |  | ) | const`[inline]`

| Retrieves whether the type of this geometry is a parameterized surface. Returns: Whether this geometry is a parameterized surface.

bool FCDGeometry::IsSpline | ( |  | ) | const`[inline]`

| Retrieves whether the type of this geometry is a spline. Returns: Whether this geometry is a spline.

void FCDGeometry::SetMesh | ( | FCDGeometryMesh * | data | ) | `[inline]`

  | [INTERNAL] Set geometry information. Parameters:
  | data | The specific geometry data structure.

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

- FCDocument/FCDGeometry.h