I3DShPrimitive Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShPrimitive:

IMCUnknown List of all members.

Public Member Functions

virtual boolean MCCOMAPI IsPatchBased ()=0
virtual MCCOMErr MCCOMAPI EnumPatches (EnumPatchesCallback callback, void *privData, boolean &closed)=0
virtual MCCOMErr MCCOMAPI ChangedData ()=0
virtual MCCOMErr MCCOMAPI GetFMesh (real lod, FacetMesh **mesh)=0
virtual boolean MCCOMAPI IsVolumic ()=0
virtual boolean MCCOMAPI UV2XYZ (const TVector2 &uv, uint32 uvSpaceID, TVector3 &thePos3D, TVector3 *normal)=0
virtual I3DShObject *MCCOMAPI GetI3DShObject ()=0
virtual int16 MCCOMAPI GetNbrLOD () const =0
virtual real MCCOMAPI GetLOD (int16 index) const =0

Detailed Description

A Primitive is a geometric Object that can be instantiated multiple time in a scene.

Most primitives created in Carrara are external primitives (see I3DShExternalPrimitive for a more information on external primitives).

A primitive always supports the following interfaces: I3DShObject, I3DShMaster.


Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DShPrimitive::ChangedData (   )  [pure virtual]
 

Call this if you changed some data of the Primitive, so the Shell hear about it

virtual MCCOMErr MCCOMAPI I3DShPrimitive::EnumPatches (  EnumPatchesCallback  callback,
void *  privData,
boolean &  closed
)  [pure virtual]
 

Enumerates the list of patches that compose the primitive.

Parameters:
callback A callback function.
privData Data that are passed to the callback
closed True if the primitive is closed (used for backface culling).

virtual MCCOMErr MCCOMAPI I3DShPrimitive::GetFMesh (  real  lod,
FacetMesh **  mesh
)  [pure virtual]
 

Returns the facet mesh for a given level of detail.

Parameters:
lod The level of detail (0 is the most precise)
mesh A pointer to the facetmesh.

virtual I3DShObject* MCCOMAPI I3DShPrimitive::GetI3DShObject (   )  [pure virtual]
 

Returns a pointer to I3DShObject. (This methid is faster than calling QueryInterface).

virtual real MCCOMAPI I3DShPrimitive::GetLOD (  int16  index  )  const [pure virtual]
 

Returns the precision for a given Level of Detail.

Parameters:
index The index of the LOD.

virtual int16 MCCOMAPI I3DShPrimitive::GetNbrLOD (   )  const [pure virtual]
 

Returns the number of LOD (level of details) that are supported by this primitive.

virtual boolean MCCOMAPI I3DShPrimitive::IsPatchBased (   )  [pure virtual]
 

Returns true if the primitive is composed of Beziers patches.

virtual boolean MCCOMAPI I3DShPrimitive::IsVolumic (   )  [pure virtual]
 

Returns true if the primitive is a volumic primitive (see IVolumePrimitive).

virtual boolean MCCOMAPI I3DShPrimitive::UV2XYZ (  const TVector2 &  uv,
uint32  uvSpaceID,
TVector3 &  thePos3D,
TVector3 *  normal
)  [pure virtual]
 

Returns the 3D position of a point given it's uv coordinates. Note that if the uv coordinates are degenerated, there might be several points on the mesh that could be returned...

Parameters:
uv The texture coordinates
uvSpaceID The ID of the uvspace
thePos3D The returned position in local coordinates.
normal The normal at that point.


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