crystalspace.jbind.interfaces.imesh.object
Interface iMeshObjectFactory
- All Superinterfaces:
- iBase, iPointer
- All Known Implementing Classes:
- csMeshObjectFactory
- public interface iMeshObjectFactory
- extends iBase
This object is a factory which can generate mesh objects of a certain type.
For example, if you want to have multiple sets of sprites from the same
sprite template then you should have an instance of iMeshObjectFactory for
evey sprite template and an instance of iMeshObject for every sprite. To use
a mesh factory in the engine, you have to create a mesh factory wrapper for
it.
- Author:
- Java wrapper - Quentin Anciaux, c++ version -
http://crystal.sourceforge.net/docs/online/devapi/structiMeshObjectFactory.php
getLogicalParent
public iBase getLogicalParent()
- Get the logical parent for this mesh factory. See SetLogicalParent(); for
more information. Implemented in csMeshFactory, csBallMeshObjectFactory,
csBCTerrObjectFactory, csEmitMeshObjectFactory, csExploMeshObjectFactory,
csFireMeshObjectFactory, csFountainMeshObjectFactory,
csGenmeshMeshObjectFactory, csHazeMeshObjectFactory,
csLightningMeshObjectFactory, csParticlesFactory, csSnowMeshObjectFactory,
csSpiralMeshObjectFactory, csSprite2DMeshObjectFactory,
csSprite3DMeshObjectFactory, csSpriteCal3DMeshObjectFactory,
csStarsMeshObjectFactory, csChunkLodTerrainFactory,
csBigTerrainObjectFactory, csTerrFuncObjectFactory, and csThingStatic.
- Returns:
getObjectModel
public iObjectModel getObjectModel()
- Get the generic interface describing the geometry of this mesh factory. It
is possible that this will return 0 if the factory itself doesn't support
the geometry. In that case you need to get the object model from the
individual instance instead. Note that for collision detection and other
parts of CS it is prefered to use the factory object model when available
as that reduces the amount of redundant memory usage. Implemented in
csMeshFactory, csBallMeshObjectFactory, csBCTerrObjectFactory,
csEmitMeshObjectFactory, csExploMeshObjectFactory,
csFireMeshObjectFactory, csFountainMeshObjectFactory,
csGenmeshMeshObjectFactory, csHazeMeshObjectFactory,
csLightningMeshObjectFactory, csParticlesFactory, csSnowMeshObjectFactory,
csSpiralMeshObjectFactory, csSprite2DMeshObjectFactory,
csSprite3DMeshObjectFactory, csSpriteCal3DMeshObjectFactory,
csStarsMeshObjectFactory, csChunkLodTerrainFactory,
csBigTerrainObjectFactory, csTerrFuncObjectFactory, and csThingStatic.
- Returns:
hardTransform
public void hardTransform(csReversibleTransform t)
- 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. Implemented in csMeshFactory, csBallMeshObjectFactory,
csBCTerrObjectFactory, csEmitMeshObjectFactory, csExploMeshObjectFactory,
csFireMeshObjectFactory, csFountainMeshObjectFactory,
csGenmeshMeshObjectFactory, csHazeMeshObjectFactory,
csLightningMeshObjectFactory, csParticlesFactory, csSnowMeshObjectFactory,
csSpiralMeshObjectFactory, csSprite2DMeshObjectFactory,
csSprite3DMeshObjectFactory, csSpriteCal3DMeshObjectFactory,
csStarsMeshObjectFactory, csChunkLodTerrainFactory,
csBigTerrainObjectFactory, csTerrFuncObjectFactory, and csThingStatic.
- Parameters:
t
-
newInstance
public iMeshObject newInstance()
- Create an instance of iMeshObject. Implemented in csMeshFactory,
csBallMeshObjectFactory, csBCTerrObjectFactory, csEmitMeshObjectFactory,
csExploMeshObjectFactory, csFireMeshObjectFactory,
csFountainMeshObjectFactory, csGenmeshMeshObjectFactory,
csHazeMeshObjectFactory, csLightningMeshObjectFactory, csParticlesFactory,
csSnowMeshObjectFactory, csSpiralMeshObjectFactory,
csSprite2DMeshObjectFactory, csSprite3DMeshObjectFactory,
csSpriteCal3DMeshObjectFactory, csStarsMeshObjectFactory,
csChunkLodTerrainFactory, csBigTerrainObjectFactory,
csTerrFuncObjectFactory, and csThingStatic.
- Returns:
setLogicalParent
public void setLogicalParent(iBase logparent)
- Set a reference to some logical parent in the context that holds the mesh
factories. When a mesh factory is used in the context of the 3D engine
then this will be an iMeshFactoryWrapper. Similarly for the isometric
engine. Note that this function should NOT increase the ref-count of the
given logical parent because this would cause a circular reference (since
the logical parent already holds a reference to this mesh factory);.
Implemented in csMeshFactory, csBallMeshObjectFactory,
csBCTerrObjectFactory, csEmitMeshObjectFactory, csExploMeshObjectFactory,
csFireMeshObjectFactory, csFountainMeshObjectFactory,
csGenmeshMeshObjectFactory, csHazeMeshObjectFactory,
csLightningMeshObjectFactory, csParticlesFactory, csSnowMeshObjectFactory,
csSpiralMeshObjectFactory, csSprite2DMeshObjectFactory,
csSprite3DMeshObjectFactory, csSpriteCal3DMeshObjectFactory,
csStarsMeshObjectFactory, csChunkLodTerrainFactory,
csBigTerrainObjectFactory, csTerrFuncObjectFactory, and csThingStatic.
- Parameters:
logparent
-
supportsHardTransform
public boolean supportsHardTransform()
- Return true if HardTransform is supported for this factory. Implemented in
csMeshFactory, csBallMeshObjectFactory, csBCTerrObjectFactory,
csEmitMeshObjectFactory, csExploMeshObjectFactory,
csFireMeshObjectFactory, csFountainMeshObjectFactory,
csGenmeshMeshObjectFactory, csHazeMeshObjectFactory,
csLightningMeshObjectFactory, csParticlesFactory, csSnowMeshObjectFactory,
csSpiralMeshObjectFactory, csSprite2DMeshObjectFactory,
csSprite3DMeshObjectFactory, csSpriteCal3DMeshObjectFactory,
csStarsMeshObjectFactory, csChunkLodTerrainFactory,
csBigTerrainObjectFactory, csTerrFuncObjectFactory, and csThingStatic.
- Returns: