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 void MCCOMAPI GetInstanceArray (TMCCountedPtrArray< I3DShTreeElement > &instances)=0
virtual uint32 MCCOMAPI GetUVSpaceCount ()=0
virtual MCCOMErr MCCOMAPI GetUVSpace (uint32 uvSpaceID, UVSpaceInfo *uvSpaceInfo)=0
virtual boolean MCCOMAPI CanRenameUVSpace ()=0
virtual MCCOMErr MCCOMAPI RenameUVSpace (uint32 uvSpaceID, const TMCString &name)=0
virtual void MCCOMAPI GetScene (I3DShScene **scene)=0
virtual boolean MCCOMAPI IsInfiniteObject ()=0
virtual void MCCOMAPI GetBoundingBox (TBBox3D &bbox, boolean rendering=true)=0
virtual void MCCOMAPI GetFacetBoundingBox (TBBox3D &bbox, const 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
virtual void MCCOMAPI GetPreviewObject (I3DShMasterShader *masterShader, I3DShObject **object, I3DShTreeElement **previewTree, I3DShTreeElement **additionnalChildInstance)=0
virtual int32 MCCOMAPI GetAllInstancesCount ()=0
virtual I3DShInstance *MCCOMAPI GetInstanceByIndex (uint32 inIndex)=0
virtual I3DShScene *MCCOMAPI GetSceneNoAddRef ()=0
 Returns the scene that contains this object.
virtual I3DShMaster *MCCOMAPI GetThisMaster ()=0
virtual MCCOMErr MCCOMAPI GetApproximateBoundingBox (TBBox3D &bbox)=0
 Returns an approximation of the bounding box.
virtual boolean MCCOMAPI ShouldDeleteWithInstance (I3DShInstance *inInstance)=0
virtual boolean MCCOMAPI IsReferencedByThisSubTree (I3DShTreeElement *subTree, I3DShScene *scene)=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 boolean MCCOMAPI I3DShObject::CanRenameUVSpace (  )  [pure virtual]

Returns true if the primitive can rename uv spaces (ie. implements RenameUVSpace()).

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 int32 MCCOMAPI I3DShObject::GetAllInstancesCount (  )  [pure virtual]

Returns the total number of instances of this master object NOTE: Some instances may not be in the same scene than the master object... (Use this and GetInstanceByIndex when you need to avoid the memory allocation(s) caused by GetInstanceArray)

virtual MCCOMErr MCCOMAPI I3DShObject::GetApproximateBoundingBox ( TBBox3D bbox  )  [pure virtual]

Returns an approximation of the bounding box.

virtual void MCCOMAPI I3DShObject::GetBoundingBox ( TBBox3D bbox,
boolean  rendering = true 
) [pure virtual]

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

Parameters:
bbox A struct where the result is stored.
rendering Need a bbox for rendering (more precise)
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,
const 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 Each time you ask with a new mappingTransform, increment the matrixChangedPhase.
virtual void MCCOMAPI I3DShObject::GetInstanceArray ( TMCCountedPtrArray< I3DShTreeElement > &  instances  )  [pure virtual]

Returns an array of all the instances that points to that class.

Parameters:
instances An array of instances.
virtual void MCCOMAPI I3DShObject::GetInstanceArray ( TMCCountedPtrArray< I3DShInstance > &  instances  )  [pure virtual]

Builds the array of all the instances of this object. The array should be empty when the function is called.

Parameters:
instances An array to store the list of instances.
virtual I3DShInstance* MCCOMAPI I3DShObject::GetInstanceByIndex ( uint32  inIndex  )  [pure virtual]

Returns the inIndex(th) instance of this master object. NOTE: Some instances may not be in the same scene than the master object... (Use this and GetAllInstancesCount when you need to avoid the memory allocation(s) caused by GetInstanceArray)

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::GetPreviewObject ( I3DShMasterShader masterShader,
I3DShObject **  object,
I3DShTreeElement **  previewTree,
I3DShTreeElement **  additionnalChildInstance 
) [pure virtual]

Return the Master object to preview if different from main one. Return NULL if it is the same,

Parameters:
masterShader the master shader being previewed
object the object to use to preview the shader
previewTree a tree to set the transform of the preview object (only the transform will be used)
additionnalChild the master object can also add an instance that will be used for the preview as well, puting it as child of the previewed object
virtual void MCCOMAPI I3DShObject::GetScene ( I3DShScene **  scene  )  [pure virtual]

Returns the scene that contains this object.

Parameters:
scene A pointer to the scene.
virtual I3DShScene* MCCOMAPI I3DShObject::GetSceneNoAddRef (  )  [pure virtual]

Returns the scene that contains this object.

virtual I3DShMaster* MCCOMAPI I3DShObject::GetThisMaster (  )  [pure virtual]

Returns the I3DShMaster interface.

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 boolean MCCOMAPI I3DShObject::IsReferencedByThisSubTree ( I3DShTreeElement subTree,
I3DShScene scene 
) [pure virtual]

Return true if the given sub tree keeps a reference to that master object

Parameters:
subTree The sub tree that might reference that master object
scene The scene that contains that sub tree.
virtual MCCOMErr MCCOMAPI I3DShObject::RenameUVSpace ( uint32  uvSpaceID,
const TMCString name 
) [pure virtual]

Rename a particular uvSpace (= shading domain).

Parameters:
uvSpaceID The ID of the uvspace (0 based index)
name The new name of the uvspace.
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.
virtual boolean MCCOMAPI I3DShObject::ShouldDeleteWithInstance ( I3DShInstance inInstance  )  [pure virtual]

Tells if the master should be deleted when the user deletes the given instance

Parameters:
inInstance The instance that is being deleted

The documentation for this struct was generated from the following file:
Generated on Mon Apr 26 22:47:41 2010 for Carrara SDK Doc by  doxygen 1.6.3