text: iObjectModel Struct Reference
  [Geometry utilities]
  This interface represents data related to some geometry in object space. More...
  #include <imesh/objmodel.h>
  Detailed Description
  This interface represents data related to some geometry in object space.
  It is a generic way to describe meshes in the engine. By using this interface you can make sure your code works on all engine geometry. The data returned by this class is in local object space.
  Main creators of instances implementing this interface:
  - All mesh objects implement this interface.
  Main ways to get pointers to this interface:
  Definition at line 89 of file objmodel.h.
  Member Function Documentation
  Add a listener to this object model.
  This listener will be called whenever the object model changes or right before it is destroyed.
  Implemented in csObjectModel.
  Get the bounding box in object space for this mesh object.
  Implemented in csMeshObject.
  Get the radius and center of this object in object space.
  Implemented in csMeshObject.
  Returns a number that will change whenever the shape of this object changes.
  If that happens then the data in all the returned polygon meshes and bounding volumes will be invalid.
  Implemented in csObjectModel.
  Get a terra former representing the geometry of the object.
  This class is useful for collision detection. Can return 0 if this object model doesn't support that.
  Implemented in csMeshObject, and csObjectModel.
  Get a terrain representing the geometry of the object.
  This class is useful for collision detection. Can return 0 if this object model doesn't support that.
  Implemented in csMeshObject, and csObjectModel.
  Get a triangle mesh representing the geometry of the object.
  The ID indicates the type of mesh that is desired. Use the string registry (iStringSet from object registry with tag 'crystalspace.shared.stringset') to convert the ID string to a csStringID identification. Some common possibilities are:
  - 'base'
  - 'colldet'
  - 'viscull'
  - 'shadows'
  - Returns:
  - the triangle mesh for that id. If this is 0 then there are two possibilities: either the mesh was never set and in this case the subsystem can pick the base mesh as a fallback. Another possibility is that the triangle data was explicitelly cleared with SetTriangleData(id,0). In that case the mesh is assumed to be empty and usually that means that the specific subsystem will ignore it. To distinguish between these two cases use IsTriangleDataSet(id).
  Implemented in csObjectModel.
  Get an iterator to iterate over all triangle meshes in this object model.
  This includes triangle meshes that are 0.
  Implemented in csObjectModel.
  Return true if the triangle data was set for this id.
  This can be used to distinguish between an empty mesh as set with SetTriangleData() or SetTriangleData() not being called at all. Calling ResetTriangleData() will clear this.
  Implemented in csObjectModel.
  Remove a listener from this object model.
  Implemented in csObjectModel.
  Reset triangle data.
  After calling this it is as if the triangle data was never set.
  Implemented in csObjectModel.
  Override the bounding box of this mesh object in object space.
  Note that some mesh objects don't have a bounding box on their own and may delegate this call to their factory (like genmesh).
  Implemented in csMeshObject.
  Set a triangle mesh representing the geometry of the object.
  The ID indicates the type of mesh that you want to change. Note that the base mesh (ID equal to 'base') cannot be modified.
  - Parameters:
  -
  Implemented in csObjectModel.
  The documentation for this struct was generated from the following file:
  - imesh/objmodel.h
  Generated for Crystal Space 2.1 by doxygen 1.6.1