I3DShObject Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShObject:

IMCUnknown List of all members.

Public Member Functions

virtual MCCOMErr MCCOMAPI SetName (const TMCString &name)=0
virtual MCCOMErr MCCOMAPI GetName (TMCString &name)=0
virtual uint32 MCCOMAPI GetInstancesCount ()=0
virtual void MCCOMAPI GetInstanceArray (TMCCountedPtrArray< I3DShInstance > &instances)=0
virtual uint32 MCCOMAPI GetUVSpaceCount ()=0
virtual MCCOMErr MCCOMAPI GetUVSpace (uint32 uvSpaceID, UVSpaceInfo *uvSpaceInfo)=0
virtual void MCCOMAPI GetScene (I3DShScene **scene)=0
virtual boolean MCCOMAPI IsInfiniteObject ()=0
virtual void MCCOMAPI GetBoundingBox (TBBox3D &bbox)=0
virtual void MCCOMAPI GetFacetBoundingBox (TBBox3D &bbox, TMatrix33 &mappingTransform, void *listener, uint32 matrixChangedPhase)=0
virtual MCCOMErr MCCOMAPI Clone (I3DShObject **clone, ECloneMode cloneMode) const =0
virtual int32 MCCOMAPI GetEditor ()=0
virtual int32 MCCOMAPI GetObjectID ()=0
virtual boolean MCCOMAPI IsExcludedFromTripleBuffer ()=0

Detailed Description

I3DShObject stores the geometry of the objects (master objects) in a scene.

Master Objects are kept in a list in the scene (the Objects List), and can be instanciated as many times as needed in a scene.

There are two types of Master Objects: Primitives and Master Groups. See I3DShPrimitive and I3DMasterGroup.

Other supported interfaces:


Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DShObject::Clone (  I3DShObject **  clone,
ECloneMode  cloneMode
)  const [pure virtual]
 

Creates a copy of the object.

Parameters:
clone A pointer to the new copy of the object.
cloneMode The clone mode (see ECloneMode)

virtual void MCCOMAPI I3DShObject::GetBoundingBox (  TBBox3D &  bbox  )  [pure virtual]
 

Gets the bounding box of the object (in local coordinates)

Parameters:
bbox A struct where the result is stored.

virtual int32 MCCOMAPI I3DShObject::GetEditor (   )  [pure virtual]
 

Returns the class ID of the Editor (i.e. the module) capable of editing this object in the Modeling room

virtual void MCCOMAPI I3DShObject::GetFacetBoundingBox (  TBBox3D &  bbox,
TMatrix33 &  mappingTransform,
void *  listener,
uint32  matrixChangedPhase
)  [pure virtual]
 

The bounding box calculated here fit exactly the facets of the object in a given direction. The FacetBounding boxes are cached inside the Object because it can take a long time to calculate. We added a listener here to accelerate the Get. So we don't have to compare mappingTransform (TMatrix33) in the look-up table. A last hit is provide inside the GetFacetBoundingBox method to make the Get on same listener very fast. Each time the BoudingBox of the object changed , the list is flushed.

Parameters:
bbox The bounding box that is returned.
mappingTransform The transform of the bounding box
listener A listener
matrixChangedPhase 

virtual void MCCOMAPI I3DShObject::GetInstanceArray (  TMCCountedPtrArray< I3DShInstance > &  instances  )  [pure virtual]
 

Builds the array of all the instances of this object. Exact same call as I3DShMaster::GetInstanceArray The array should be empty when the function is called.

Parameters:
instances An array to store the list of instances.

virtual uint32 MCCOMAPI I3DShObject::GetInstancesCount (   )  [pure virtual]
 

Returns the number of instances of this object. Exact same call as I3DShMaster::GetInstancesCount

virtual MCCOMErr MCCOMAPI I3DShObject::GetName (  TMCString &  name  )  [pure virtual]
 

Returns the name of the master object.

Parameters:
name The name of the master object.

virtual int32 MCCOMAPI I3DShObject::GetObjectID (   )  [pure virtual]
 

Returns the ID of the object. In the case of a Primitive, it will be its Class ID. For a Master Group, it is 'sc '

virtual void MCCOMAPI I3DShObject::GetScene (  I3DShScene **  scene  )  [pure virtual]
 

Returns the scene that contains this object.

Parameters:
scene A pointer to the scene.

virtual MCCOMErr MCCOMAPI I3DShObject::GetUVSpace (  uint32  uvSpaceID,
UVSpaceInfo *  uvSpaceInfo
)  [pure virtual]
 

Gets information on a specific UV Space

Parameters:
uvSpaceID The index (0 based) of the shading domaine (= uv space).
uvSpaceInfo A pointer to a struct that will contain the definition of the shading domain.

virtual uint32 MCCOMAPI I3DShObject::GetUVSpaceCount (   )  [pure virtual]
 

Return the number of UV spaces for this object. If 0 is returned only projection mapping can be performed on the object

virtual boolean MCCOMAPI I3DShObject::IsExcludedFromTripleBuffer (   )  [pure virtual]
 

Returns true if its instances should be excluded from the triple buffer (eg used for skinning)

virtual boolean MCCOMAPI I3DShObject::IsInfiniteObject (   )  [pure virtual]
 

Returns TRUE if the object is infinite (like the infinite plane)

virtual MCCOMErr MCCOMAPI I3DShObject::SetName (  const TMCString &  name  )  [pure virtual]
 

Sets the name of a master object. Note that you should not call this method once the object is inserted in a scene because it does not garantee the unicity of the name. If you want to change the name of a Master Object once it is inserted in a scene, you should call: I3DShScene::Rename3DObject().

Parameters:
name The new name of the master object.


The documentation for this struct was generated from the following file:
Generated on Mon Mar 14 12:29:02 2005 for Carrara SDK Doc by  doxygen 1.3.9.1