CrystalSpace

Public API Reference

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

iMeshFactoryWrapper Struct Reference
[Mesh support]

A mesh factory wrapper is an engine-level object that wraps around a mesh object factory (iMeshObjectFactory). More...

#include <mesh.h>

Inheritance diagram for iMeshFactoryWrapper:

iBase List of all members.

Public Methods

virtual iObjectQueryObject ()=0
 Get the iObject for this mesh factory.

virtual iMeshObjectFactoryGetMeshObjectFactory () const=0
 Get the iMeshObjectFactory.

virtual void SetMeshObjectFactory (iMeshObjectFactory *fact)=0
 Set the mesh object factory.

virtual void HardTransform (const csReversibleTransform &t)=0
 Do a hard transform of this factory.

virtual iMeshWrapperCreateMeshWrapper ()=0
 Create mesh objects from this factory.

virtual iMeshFactoryWrapper * GetParentContainer () const=0
 Get the parent of this factory.

virtual void SetParentContainer (iMeshFactoryWrapper *p)=0
 Set the parent of this factory.

virtual iMeshFactoryListGetChildren ()=0
 Get all the children of this mesh factory.

virtual csReversibleTransformGetTransform ()=0
 Get optional relative transform (relative to parent).

virtual void SetTransform (const csReversibleTransform &tr)=0
 Set optional relative transform (relative to parent).

virtual iLODControlCreateStaticLOD ()=0
 Create a LOD control template for this factory.

virtual void DestroyStaticLOD ()=0
 Destroy the LOD control for this factory.

virtual iLODControlGetStaticLOD ()=0
 Get the LOD control for this factory.

virtual void SetStaticLOD (float m, float a)=0
 Set the LOD function parameters for this factory.

virtual void GetStaticLOD (float &m, float &a) const=0
 Get the LOD function parameters for this factory.

virtual void AddFactoryToStaticLOD (int lod, iMeshFactoryWrapper *fact)=0
 Set a given child factory at a specific lod level.

virtual void RemoveFactoryFromStaticLOD (iMeshFactoryWrapper *fact)=0
 Remove a child factory from all lod levels.


Detailed Description

A mesh factory wrapper is an engine-level object that wraps around a mesh object factory (iMeshObjectFactory).

Every mesh object factory in the engine is represented by a mesh factory wrapper, which keeps the pointer to the mesh factory, its name, etc.

Think of the mesh factory wrapper as the hook that holds the mesh factory in the engine. An effect of this is that the i???FactoryState interfaces (e.g. iSprite3DFactoryState) must be queried from the mesh *factories*, not the wrappers!

Definition at line 488 of file mesh.h.


Member Function Documentation

virtual void iMeshFactoryWrapper::AddFactoryToStaticLOD int    lod,
iMeshFactoryWrapper *    fact
[pure virtual]
 

Set a given child factory at a specific lod level.

Note that a factory can be at several lod levels at once.

virtual iMeshWrapper* iMeshFactoryWrapper::CreateMeshWrapper   [pure virtual]
 

Create mesh objects from this factory.

If the factory has a hierarchy then a hierarchical mesh object will be created.

virtual iLODControl* iMeshFactoryWrapper::CreateStaticLOD   [pure virtual]
 

Create a LOD control template for this factory.

This is relevant only if the factory is hierarchical. The LOD control will be used to select which children are visible and which are not. Use this to create static lod.

virtual void iMeshFactoryWrapper::DestroyStaticLOD   [pure virtual]
 

Destroy the LOD control for this factory.

virtual iMeshFactoryList* iMeshFactoryWrapper::GetChildren   [pure virtual]
 

Get all the children of this mesh factory.

virtual iMeshObjectFactory* iMeshFactoryWrapper::GetMeshObjectFactory   [pure virtual]
 

Get the iMeshObjectFactory.

virtual iMeshFactoryWrapper* iMeshFactoryWrapper::GetParentContainer   [pure virtual]
 

Get the parent of this factory.

This will be 0 if this factory has no parent.

virtual void iMeshFactoryWrapper::GetStaticLOD float &    m,
float &    a
const [pure virtual]
 

Get the LOD function parameters for this factory.

virtual iLODControl* iMeshFactoryWrapper::GetStaticLOD   [pure virtual]
 

Get the LOD control for this factory.

This will return 0 if this is a normal (hierarchical) factory. Otherwise it will return an object with which you can control the static LOD of this factory.

virtual csReversibleTransform& iMeshFactoryWrapper::GetTransform   [pure virtual]
 

Get optional relative transform (relative to parent).

virtual void iMeshFactoryWrapper::HardTransform const csReversibleTransform   t [pure virtual]
 

Do a hard transform of this factory.

This transformation and the original coordinates are not remembered but the object space coordinates are directly computed (world space coordinates are set to the object space coordinates by this routine). Note that some implementations of mesh objects will not change the orientation of the object but only the position.

virtual iObject* iMeshFactoryWrapper::QueryObject   [pure virtual]
 

Get the iObject for this mesh factory.

virtual void iMeshFactoryWrapper::RemoveFactoryFromStaticLOD iMeshFactoryWrapper *    fact [pure virtual]
 

Remove a child factory from all lod levels.

The factory is not removed from the list of factories however.

virtual void iMeshFactoryWrapper::SetMeshObjectFactory iMeshObjectFactory   fact [pure virtual]
 

Set the mesh object factory.

virtual void iMeshFactoryWrapper::SetParentContainer iMeshFactoryWrapper *    p [pure virtual]
 

Set the parent of this factory.

This will only change the 'parent' pointer but not add the factory as a child! Internal use only.

virtual void iMeshFactoryWrapper::SetStaticLOD float    m,
float    a
[pure virtual]
 

Set the LOD function parameters for this factory.

These control the function:

    float lod = m * distance + a;
 

virtual void iMeshFactoryWrapper::SetTransform const csReversibleTransform   tr [pure virtual]
 

Set optional relative transform (relative to parent).


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