crystalspace.jbind.impl.mesh.object
Class csMeshObjectFactory

java.lang.Object
  extended bycrystalspace.jbind.impl.csNativeObject
      extended bycrystalspace.jbind.impl.csutil.scf.csBase
          extended bycrystalspace.jbind.impl.mesh.object.csMeshObjectFactory
All Implemented Interfaces:
iBase, iMeshObjectFactory, iPointer

public class csMeshObjectFactory
extends csBase
implements iMeshObjectFactory

Author:
Quentin Anciaux

Field Summary
 
Fields inherited from class crystalspace.jbind.impl.csNativeObject
ImplFactory, nPointer
 
Constructor Summary
csMeshObjectFactory(iPointer nPointer)
           
 
Method Summary
 iBase getLogicalParent()
          Get the logical parent for this mesh factory.
 java.lang.String getName()
          Return the name of the interface
 iObjectModel getObjectModel()
          Get the generic interface describing the geometry of this mesh factory.
 int getVersion()
          Return the version of the interface
 void hardTransform(csReversibleTransform t)
          Do a hard transform of this factory.
protected  boolean isNativePointerValidSafe(long pointer)
           
 iMeshObject newInstance()
          Create an instance of iMeshObject.
 void setLogicalParent(iBase logparent)
          Set a reference to some logical parent in the context that holds the mesh factories.
 boolean supportsHardTransform()
          Return true if HardTransform is supported for this factory.
 
Methods inherited from class crystalspace.jbind.impl.csutil.scf.csBase
decRef, equals, finalize, getRefCount, incRef, nDelete, queryInterface, queryInterfaceSafe
 
Methods inherited from class crystalspace.jbind.impl.csNativeObject
changePointer, getPointer, getPointer, getPointerArray, hashCode, isMemoryOwner, isNativePointerValid, newNativeObject, setMemoryOwner, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface crystalspace.jbind.interfaces.iutil.scf.iBase
decRef, getRefCount, incRef, queryInterface, queryInterfaceSafe
 
Methods inherited from interface crystalspace.jbind.interfaces.iPointer
changePointer, getPointer, isMemoryOwner, setMemoryOwner
 

Constructor Detail

csMeshObjectFactory

public csMeshObjectFactory(iPointer nPointer)
Parameters:
nPointer -
Method Detail

getVersion

public int getVersion()
Description copied from interface: iBase
Return the version of the interface

Specified by:
getVersion in interface iBase
Specified by:
getVersion in class csBase
See Also:
iBase.getVersion()

getName

public java.lang.String getName()
Description copied from interface: iBase
Return the name of the interface

Specified by:
getName in interface iBase
Specified by:
getName in class csBase
See Also:
iBase.getName()

isNativePointerValidSafe

protected boolean isNativePointerValidSafe(long pointer)
Specified by:
isNativePointerValidSafe in class csNativeObject
See Also:
csNativeObject.isNativePointerValidSafe(long)

getLogicalParent

public iBase getLogicalParent()
Description copied from interface: iMeshObjectFactory
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.

Specified by:
getLogicalParent in interface iMeshObjectFactory
Returns:
See Also:
iMeshObjectFactory.getLogicalParent()

getObjectModel

public iObjectModel getObjectModel()
Description copied from interface: iMeshObjectFactory
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.

Specified by:
getObjectModel in interface iMeshObjectFactory
Returns:
See Also:
iMeshObjectFactory.getObjectModel()

hardTransform

public void hardTransform(csReversibleTransform t)
Description copied from interface: iMeshObjectFactory
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.

Specified by:
hardTransform in interface iMeshObjectFactory
Parameters:
t -
See Also:
iMeshObjectFactory.hardTransform(crystalspace.jbind.impl.csgeom.transfrm.csReversibleTransform)

newInstance

public iMeshObject newInstance()
Description copied from interface: iMeshObjectFactory
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.

Specified by:
newInstance in interface iMeshObjectFactory
Returns:
See Also:
iMeshObjectFactory.newInstance()

setLogicalParent

public void setLogicalParent(iBase logparent)
Description copied from interface: iMeshObjectFactory
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.

Specified by:
setLogicalParent in interface iMeshObjectFactory
Parameters:
logparent -
See Also:
iMeshObjectFactory.setLogicalParent(crystalspace.jbind.interfaces.iutil.scf.iBase)

supportsHardTransform

public boolean supportsHardTransform()
Description copied from interface: iMeshObjectFactory
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.

Specified by:
supportsHardTransform in interface iMeshObjectFactory
Returns:
See Also:
iMeshObjectFactory.supportsHardTransform()