I3DShPrimitive Struct Reference
[Shell Interfaces]
List of all members.
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 void MCCOMAPI I3DShPrimitive::BeginUV2XYZ |
( |
|
) |
[pure virtual] |
virtual void MCCOMAPI I3DShPrimitive::BeginUV2XYZForShadingDomain |
( |
int32 |
shadingDomain |
) |
[pure virtual] |
Call this function before UV2XYZ() if you are only going to call it for a given shading domain. (It is faster that BeginUV2XYZ()).
- Parameters:
-
| shadingDomain | The ID of the shading domain. (-1 means all shadingDomains) |
virtual MCCOMErr MCCOMAPI I3DShPrimitive::ChangedData |
( |
|
) |
[pure virtual] |
Call this if you changed some data of the Primitive, so the Shell hear about it
virtual void MCCOMAPI I3DShPrimitive::EndUV2XYZ |
( |
|
) |
[pure virtual] |
Call this function after UV2XYZ() to delete caches.
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 I3DShPrimitive* MCCOMAPI I3DShPrimitive::GetChildPrimitive |
( |
|
) |
[pure virtual] |
Returns a pointer to the child primitive of this primitive. Returns NULL if there is no child primitive.
virtual void MCCOMAPI I3DShPrimitive::GetFaceSetList |
( |
TMCCountedPtrArray< TFaceSet > & |
faceSetList |
) |
[pure virtual] |
Gets the list of face sets associated with the primitive.
- Parameters:
-
| faceSetList | The face set list that is returned. |
Returns the facet mesh for a given level of detail. (This is the quality that is used for the 3D view. To get the full detail mesh, call GetRenderingFacetMesh()).
- 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 method 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.
Returns a pointer to the primitive extension if there is one. Returns NULL if this primitive is an internal primitive.
Calculates the intersection of a ray and this primitive
virtual void MCCOMAPI I3DShPrimitive::GetRenderingFacetMesh |
( |
FacetMesh ** |
mesh |
) |
[pure virtual] |
Returns the facet mesh associated with the primitive that should be used for the final rendering.
- Parameters:
-
| mesh | A pointer to the facetmesh |
Returns a pointer to the rendering mesh associated with the primitive. Note that the mesh should not be cached by the primitive so it can be modified by the caller.
It is the caller responsability to call release on the mesh once it is not used anymore.
- Parameters:
-
| meshList | The mesh list that is returned. NULL if this call is not supported (in which case the caller can use the facet mesh) |
virtual boolean MCCOMAPI I3DShPrimitive::IsPatchBased |
( |
|
) |
[pure virtual] |
Returns true if the primitive is composed of Beziers patches.
virtual boolean MCCOMAPI I3DShPrimitive::IsSelfRaytracablePrimitive |
( |
|
) |
[pure virtual] |
Returns true if the primitive is a self raytraceable (ie. the facet mesh may not be the geometry that is rendered).
virtual boolean MCCOMAPI I3DShPrimitive::IsVolumic |
( |
|
) |
[pure virtual] |
virtual MCCOMErr MCCOMAPI I3DShPrimitive::PostPrimitiveChange |
( |
int32 |
inChangeID |
) |
[pure virtual] |
Post a change message for this primitive.
calculates the intersection between a ray and a triangle of a primitive. Note that if the primitive is self-Raytracable, the facetIndex is ignored and the intersection is calculated with the whole primitive.
- Parameters:
-
| params | the raytracing parameters (ray, hit...) |
| facetIndex | the index of the facet to intersect |
| lod | the lod of the primitive from which the facet is coming from |
virtual boolean MCCOMAPI I3DShPrimitive::RenderingFacetMeshDifferentFromLodZero |
( |
|
) |
[pure virtual] |
Returns true if the lod 0 and the rendering facet are different.
virtual void MCCOMAPI I3DShPrimitive::SetChildPrimitive |
( |
I3DShPrimitive * |
primitive |
) |
[pure virtual] |
Sets a child primitive for this primitive
- Parameters:
-
| primitive | A pointer to the child primitive |
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: