iMeshFactoryWrapper Struct Reference
[Mesh support]
A mesh factory wrapper is an engine-level object that wraps around a mesh object factory (iMeshObjectFactory).
More...
#include <iengine/mesh.h>
Inheritance diagram for iMeshFactoryWrapper:

Public Member Functions | |
virtual void | AddFactoryToStaticLOD (int lod, iMeshFactoryWrapper *fact)=0 |
Set a given child factory at a specific lod level. | |
virtual iMeshWrapper * | CreateMeshWrapper ()=0 |
Create mesh objects from this factory. | |
virtual iLODControl * | CreateStaticLOD ()=0 |
Create a LOD control template for this factory. | |
virtual void | DestroyStaticLOD ()=0 |
Destroy the LOD control for this factory. | |
virtual iMeshFactoryList * | GetChildren ()=0 |
Get all the children of this mesh factory. | |
virtual iMeshObjectFactory * | GetMeshObjectFactory () const =0 |
Get the iMeshObjectFactory. | |
virtual iMeshFactoryWrapper * | GetParentContainer () const =0 |
Get the parent of this factory. | |
virtual long | GetRenderPriority () const =0 |
Get the render priority. | |
virtual void | GetStaticLOD (float &m, float &a) const =0 |
Get the LOD function parameters for this factory. | |
virtual iLODControl * | GetStaticLOD ()=0 |
Get the LOD control for this factory. | |
virtual iShaderVariableContext * | GetSVContext ()=0 |
Get the shader variable context of the mesh factory. | |
virtual csReversibleTransform & | GetTransform ()=0 |
Get optional relative transform (relative to parent). | |
virtual csZBufMode | GetZBufMode () const =0 |
Get the Z-buf drawing mode. | |
virtual void | HardTransform (const csReversibleTransform &t)=0 |
Do a hard transform of this factory. | |
virtual iObject * | QueryObject ()=0 |
Get the iObject for this mesh factory. | |
virtual void | RemoveFactoryFromStaticLOD (iMeshFactoryWrapper *fact)=0 |
Remove a child factory from all lod levels. | |
virtual void | SetMeshObjectFactory (iMeshObjectFactory *fact)=0 |
Set the mesh object factory. | |
virtual void | SetParentContainer (iMeshFactoryWrapper *p)=0 |
Set the parent of this factory. | |
virtual void | SetRenderPriority (long rp)=0 |
The renderer will render all objects in a sector based on this number. | |
virtual void | SetRenderPriorityRecursive (long rp)=0 |
Same as SetRenderPriority() but this version will recursively set render priority for the children too. | |
virtual void | SetStaticLOD (float m, float a)=0 |
Set the LOD function parameters for this factory. | |
virtual void | SetTransform (const csReversibleTransform &tr)=0 |
Set optional relative transform (relative to parent). | |
virtual void | SetZBufMode (csZBufMode mode)=0 |
Set the Z-buf drawing mode to use for this factory. | |
virtual void | SetZBufModeRecursive (csZBufMode mode)=0 |
Same as SetZBufMode() but this will also set the z-buf mode for the children too. |
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!
Main creators of instances implementing this interface:
Main ways to get pointers to this interface:
- iEngine::FindMeshFactory()
- iMeshFactoryList::Get()
- iMeshFactoryList::FindByName()
- iLoaderContext::FindMeshFactory()
Main users of this interface:
Definition at line 741 of file mesh.h.
Member Function Documentation
|
Set a given child factory at a specific lod level. Note that a factory can be at several lod levels at once. |
|
Create mesh objects from this factory. If the factory has a hierarchy then a hierarchical mesh object will be created. |
|
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. |
|
Destroy the LOD control for this factory.
|
|
Get all the children of this mesh factory.
|
|
Get the iMeshObjectFactory.
|
|
Get the parent of this factory. This will be 0 if this factory has no parent. |
|
Get the render priority.
|
|
Get the LOD function parameters for this factory.
|
|
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. |
|
Get the shader variable context of the mesh factory.
|
|
Get optional relative transform (relative to parent).
|
|
Get the Z-buf drawing mode.
|
|
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. |
|
Get the iObject for this mesh factory.
|
|
Remove a child factory from all lod levels. The factory is not removed from the list of factories however. |
|
Set the mesh object factory.
|
|
Set the parent of this factory. This will only change the 'parent' pointer but not add the factory as a child! Internal use only. |
|
The renderer will render all objects in a sector based on this number. Low numbers get rendered first. High numbers get rendered later. The value for the factory is used as a default for objects created from that factory. There are a few often used slots:
|
|
Same as SetRenderPriority() but this version will recursively set render priority for the children too.
|
|
Set the LOD function parameters for this factory. These control the function: float lod = m * distance + a; |
|
Set optional relative transform (relative to parent).
|
|
Set the Z-buf drawing mode to use for this factory. All objects created from this factory will have this mode as default. Possible values are:
|
|
Same as SetZBufMode() but this will also set the z-buf mode for the children too.
|
The documentation for this struct was generated from the following file:
- iengine/mesh.h
Generated for Crystal Space by doxygen 1.4.6