Clarisse 5.0 SP8 SDK
5.0.5.8.0
|
Class defining the GeometryObject object, which is the base object in Clarisse to define a geometry. More...
Public Member Functions | |
GeometryObject (const GeometryObject &other) | |
virtual GeometryObject * | get_copy () const =0 |
Get a copy of the current geometry. | |
virtual GMathBbox3d | get_bbox () const =0 |
Get bounding box of the geometry. | |
virtual GMathBbox3d | get_bbox_at (const CtxEval &eval_ctx, const double &time) const |
Get the bounding box of the geometry for the given time. | |
virtual const CoreBasicArray < CoreString > & | get_shading_group_names () const =0 |
Get the list of shading groups defined in the geometry. | |
virtual GMathBbox3d | get_shading_group_bbox (const unsigned int &id) const |
Get the bounding box of a shading group. | |
virtual void | get_primitive_indices (CoreArray< unsigned int > &indices) const |
Get the list of vertex indices that define all primitives. | |
virtual bool | is_animated () const |
Indicate if the geometry has an animation for the current frame. | |
virtual const GeometryPointCloud * | get_point_cloud () const |
Get the point cloud defined by the geometry. | |
virtual bool | set_point_cloud (const GeometryPointCloud &point_cloud, AppProgressBar *progress_bar=0) |
Replace the point cloud. | |
virtual unsigned int | get_vertex_count () const |
Get the number of vertices in the geometry. | |
virtual unsigned int | get_primitive_count () const =0 |
Get the number of primitives in the geometry. | |
virtual unsigned int | get_primitive_edge_count (const unsigned int &id) const =0 |
Get the number of edges of a primitive. | |
virtual void | compute_primitive_bbox (const CtxEval &eval_ctx, const unsigned int &id, GMathBbox3d &bbox) const =0 |
Compute the bounding box of a primitive. | |
virtual void | compute_primitive_bbox_at (const CtxEval &eval_ctx, const unsigned int &id, const double &time, GMathBbox3d &bbox) const |
Compute the bounding box of a primitive at a given time. | |
virtual void | compute_primitive_space (const CtxEval &eval_ctx, const unsigned int &id, GMathLinearSpace3d &space) const |
Compute the space of a primitive. | |
virtual void | compute_primitive_bbox (const CtxEval &eval_ctx, const unsigned int &id, const GMathLinearSpace3d &xform, GMathBbox3d &bbox) const |
Compute the bounding box of a primitive. | |
virtual void | compute_primitive_bbox_at (const CtxEval &eval_ctx, const unsigned int &id, const GMathLinearSpace3d &xform, const double &time, GMathBbox3d &bbox) const |
Compute the bounding box of a primitive at a given time. | |
virtual double | estimate_area (const CtxEval &eval_ctx, const GMathMatrix4x4d &xform) const |
Compute an estimation of the area of the geometry. | |
virtual double | estimate_shading_group_area (const CtxEval &eval_ctx, const unsigned int &id, const GMathMatrix4x4d &xform) const |
Compute an estimation of the area of a shading group. | |
virtual double | estimate_primitive_area (const CtxEval &eval_ctx, const unsigned int &id, const GMathMatrix4x4d &xform) const |
Compute an estimation of the area of a primitive. | |
virtual unsigned int | get_primitive_shading_group_index (const unsigned int &id) const =0 |
Get the ID of the shading group to which belongs a primitive. | |
const CoreString & | get_primitive_shading_group_name (const unsigned int &id) const |
Get the name of the shading group to which belongs a primitive. | |
virtual unsigned int | get_uv_map_count () const |
Get the number of UV maps defined in the geometry. | |
virtual const CoreString & | get_uv_map_name (const unsigned int &uv_map_index) const |
Get the name of a UV map. | |
bool | get_uv_map_index (const CoreString &uv_map_name, unsigned int &uv_map_index) const |
Get the index of a UV map by name. | |
virtual bool | get_uv_map_data (const unsigned int &uv_map_index, CoreArray< GMathVec3f > &uvs, CoreArray< unsigned int > &indices) const |
Get the data of a UV map. | |
bool | get_uv_map (const unsigned int &uv_map_index, GeometryUvMap &uv_map) const |
Get a UV map. | |
void | get_uv_maps (CoreArray< GeometryUvMap > &uv_maps) const |
Get all UV maps. | |
virtual void | compute_fragment_uvw (const CtxEval &eval_ctx, const GeometryFragment &fragment, const unsigned int &uv_map_index, GMathVec3d &coord, GMathVec3d &dcdu, GMathVec3d &dcdv) const |
Compute UVW coordinates and derivatives in a UV map for the requested fragment. | |
virtual void | compute_edge_uvw (const CtxEval &eval_ctx, const unsigned int &primitive_index, const unsigned int &edge_index, const unsigned int &uv_map_index, const double &t, GMathVec3d &coord) const |
Compute UVW coordinates and derivatives in a UV map on an edge. | |
virtual unsigned int | get_color_map_count () const |
Get the number of color maps defined in the geometry. | |
virtual const CoreString & | get_color_map_name (const unsigned int &color_map_index) const |
Get the name of a color map. | |
virtual bool | get_color_map_data (const unsigned int &color_map_index, CoreArray< GMathVec4uc > &colors, CoreArray< unsigned int > &indices) const |
Get the data of a color map. | |
bool | get_color_map (const unsigned int &color_map_index, GeometryColorMap &color_map) const |
Get a color map. | |
void | get_color_maps (CoreArray< GeometryColorMap > &color_maps) const |
Get all color maps. | |
virtual void | compute_fragment_color (const CtxEval &eval_ctx, const GeometryFragment &fragment, const unsigned int &color_map_index, GMathVec4f &color) const |
Compute the value of a color map for the requested fragment. | |
virtual unsigned int | get_normal_map_count () const |
Get the number of normal maps defined in the geometry. | |
virtual const CoreString & | get_normal_map_name (const unsigned int &normal_map_index) const |
Get the name of a normal map. | |
virtual bool | get_normal_map_data (const unsigned int &normal_map_index, CoreArray< GMathVec3f > &normals, CoreArray< unsigned int > &indices) const |
Get the description of a normal map. | |
bool | get_normal_map (const unsigned int &normal_map_index, GeometryNormalMap &normal_map) const |
Get a normal map. | |
void | get_normal_maps (CoreArray< GeometryNormalMap > &normal_maps) const |
Get all normal maps. | |
virtual bool | is_primitive_uv_mapped (const unsigned int &primitive_id, const unsigned int &uv_map_index) const |
Tell if a primitive has a representation in a UV map. | |
virtual bool | is_primitive_edge_visible (const unsigned int &primitive_index, const unsigned int &edge_index) const |
Tell if an edge is visible. | |
virtual bool | is_geometry_linear () const |
Tell if the geometry is linear. | |
virtual bool | is_primitive_linear (const unsigned int &primitive_index) const |
Tell if a primitive is linear. | |
virtual bool | is_primitive_edge_linear (const unsigned int &primitive_index, const unsigned int &edge_index) const |
Tell if an edge on a primitive is linear. | |
virtual void | compute_fragment_sample (const CtxEval &eval_ctx, const GeometryFragment &fragment, GeometrySample &sample) const =0 |
Compute a sample (position, derivatives, normals) on the geometry for a given fragment. | |
virtual void | compute_edge_sample (const CtxEval &eval_ctx, const unsigned int &primitive_id, const unsigned int &edge_index, const double &t, const GMathVec3d &eye_dir, GeometrySample &sample) const |
Compute a sample (position, derivatives, normals) on an edge of the geometry. | |
virtual double | get_primitive_intersection_cost () const |
Return an estimation of the intersection cost of primitives. | |
virtual void | intersect_primitive (const CtxEval &eval_ctx, const unsigned int &id, GeometryRaytraceCtx &raytrace_ctx) const =0 |
Compute the list of intersections between rays and a primitive. | |
virtual void | intersect_primitive (const CtxEval &eval_ctx, const unsigned int &id, GeometryFrustumCtx &frustum_ctx) const |
Compute the intersection between a frustum and a primitive. | |
void | get_uv_tiles (const GeometryUvMap &uv_map, CoreArray< GeometryUvTile > &tiles) const |
Get the non empty UV tiles from a uv map. | |
void | get_uv_tiles (const int &index, CoreArray< GeometryUvTile > &tiles) const |
Get the non empty UV tiles from the geometry's uv map at an index. | |
GMathVec4f | get_uv_range (const GeometryUvMap &uv_map) const |
GMathVec4f | get_uv_range (const unsigned int &uv_map_index) const |
![]() | |
ResourceData (const ResourceData &other) | |
virtual size_t | get_memory_size () const override |
Get the amount of memory occupied by the resource. | |
ResourceImportData * | get_import_data () const |
void | set_import_data (ResourceImportData *data) |
virtual Core128BitHashKey | get_hash_key () const |
Get the hash key of the resource. | |
virtual bool | is_serializable () const |
Tell if the resource can be serialized or not. | |
virtual void * | serialize (size_t &serial_size) const |
Serialize the resource data. | |
virtual bool | deserialize (void *serial, const size_t &serial_size) |
Deserialize the resource data. | |
void | advert_memory_changed () const |
Adverts that the memory usage of the resource has changed. | |
bool | is_protected () const |
![]() | |
EventObject () | |
Constructor. | |
EventObject (const EventObject &src) | |
Copy Constructor. | |
virtual | ~EventObject () override |
Destructor. | |
void | connect (EventObject &sender, const CoreString &event_id, EventInfoMethod event_cb, void *data=0) |
Connects this to an object to listen to a specific event. | |
void | connect (EventObject &sender, EventInfoMethod event_cb, void *data=0) |
Connects this to an object to listen any of its events. | |
bool | disconnect (EventObject &sender, const CoreString &event_id, EventInfoMethod event_cb, void *data=0) |
bool | disconnect_all (EventObject &sender) |
Disconnects from all objects sender was listening on. | |
void | disconnect_all () |
Disconnects from all objects we were listening on. | |
void | remove_all_connection () |
Disconnects object from other objects it is listening to, and also disconnects all objects listening to it. | |
void | raise_event (const CoreString &event_id) const |
sends an event | |
void | raise_event (const EventInfo &event_info) const |
sends an event | |
bool | is_connected (EventObject &sender, const CoreString &event_id, void *data) |
void | set_mute (const bool &mute) |
Asks for object muting. This will increase or decrease the muting counter. Unmuting may not be immediat since it will happen only when counter reaches 0. | |
bool | is_mute () const |
Returns if object is muted. | |
CoreArray< EventObject * > | get_senders () const |
unsigned int | get_sender_count () const |
unsigned int | get_receiver_count () const |
void | connect (EventObject &sender, const CoreString &event_id, EventMethod event_cb, void *data=0) |
Connects this to an object to listen to a specific event. | |
void | connect (EventObject &sender, EventMethod event_cb, void *data=0) |
Connects this to an object to listen any of its events. | |
bool | disconnect (EventObject &sender, const CoreString &event_id, EventMethod event_cb, void *data=0) |
Disconnects this from an object for a specific event. | |
![]() | |
CoreCustomData (const CoreCustomData &src) | |
void | add_custom_data (void *key, const bool &data) |
void | add_custom_data (void *key, const int &data) |
void | add_custom_data (void *key, const unsigned int &data) |
void | add_custom_data (void *key, const char *data) |
void | add_custom_data (void *key, const CoreString &data) |
void | add_custom_data (void *key, const double &data) |
void | add_custom_data (void *key, void *data) |
void | remove_custom_data (void *key) |
void | remove_all_custom_data () |
void | set_custom_data (void *key, const bool &data) |
void | set_custom_data (void *key, const int &data) |
void | set_custom_data (void *key, const unsigned int &data) |
void | set_custom_data (void *key, const double &data) |
void | set_custom_data (void *key, const char *data) |
void | set_custom_data (void *key, const CoreString &data) |
void | set_custom_data (void *key, void *data) |
void | get_custom_data (void *key, bool &data) const |
void | get_custom_data (void *key, int &data) const |
void | get_custom_data (void *key, unsigned int &data) const |
void | get_custom_data (void *key, double &data) const |
void | get_custom_data (void *key, CoreString &data) const |
void | get_custom_data (void *key, void *&data) const |
![]() | |
bool | is_kindof (const CoreBaseObject &object) const |
CoreString | get_class_info_name () const |
const unsigned long & | get_class_info_id () const |
virtual bool | is_kindof (const CoreClassInfo &cinfo) const |
virtual const CoreClassInfo & | get_class_info () const |
template<class T > | |
T * | cast () |
template<class T > | |
const T * | cast () const |
![]() | |
bool | is_kindof (const CoreClassInfo &cinfo) const |
Additional Inherited Members | |
![]() | |
typedef void(* | EventInfoFunction )(EventObject &, const EventInfo &, void *) |
event callback signature for free functions / static methods. | |
typedef void(EventObject::* | EventInfoMethod )(EventObject &, const EventInfo &, void *) |
event callback signature for methods. | |
typedef void(* | EventFunction )(EventObject &, const CoreString &, void *) |
typedef void(EventObject::* | EventMethod )(EventObject &, const CoreString &, void *) |
![]() | |
static void | connect (EventObject &sender, const CoreString &event_id, EventObject &receiver, EventInfoMethod event_cb, void *data=0) |
Static version of the above function. | |
static void | connect (EventObject &sender, EventObject &receiver, EventInfoMethod event_cb, void *data=0) |
Static version of the above function. | |
static void | connect (EventObject &sender, const CoreString &event_id, EventInfoFunction event_cb, void *data=0) |
Connects to an object to listen to a specific event. | |
static void | connect (EventObject &sender, EventInfoFunction event_cb, void *data=0) |
Connects to an object to listen any of its events. | |
static bool | disconnect (EventObject &sender, const CoreString &event_id, EventInfoFunction event_cb, void *data=0) |
static void | raise_event (EventObject &sender, const CoreString &event_id) |
Sends an event. | |
static void | raise_event (EventObject &sender, const EventInfo &event_info) |
Sends an event. | |
static void | connect (EventObject &sender, const CoreString &event_id, EventFunction event_cb, void *data=0) |
Connects to an object to listen to a specific event. | |
static void | connect (EventObject &sender, EventFunction event_cb, void *data=0) |
Connects to an object to listen any of its events. | |
static void | connect (EventObject &sender, const CoreString &event_id, EventObject &receiver, EventMethod event_cb, void *data=0) |
Static version of the above function. | |
static void | connect (EventObject &sender, EventObject &receiver, EventMethod event_cb, void *data=0) |
Static version of the above function. | |
static bool | disconnect (EventObject &sender, const CoreString &event_id, EventFunction event_cb, void *data=0) |
Disconnects this from an object for a specific event. | |
Class defining the GeometryObject object, which is the base object in Clarisse to define a geometry.
|
virtual |
Compute a sample (position, derivatives, normals) on an edge of the geometry.
[in] | eval_ctx | a valid evaluation context |
[in] | primitive_id | the ID of the primitive to which the edge belongs |
[in] | edge_index | the ID of the edge on the primitive |
[in] | t | position on the edge [0 - 1.0] |
[in] | eye_dir | the direction from which the edge is viewed |
[out] | sample | output sample |
|
virtual |
Compute UVW coordinates and derivatives in a UV map on an edge.
[in] | eval_ctx | a valid evaluation context |
[in] | primitive_index | the ID of the primitive to which the edge belongs |
[in] | edge_index | the ID of the edge on the primitive |
[in] | uv_map_index | the ID of the UV map to use |
[in] | t | position on the edge [0 - 1.0] |
[out] | coord | output UVW coordinates in the UV map |
Reimplemented in DisplacementMesh, CurveMesh, PolyMeshSmoothed, OsdMesh, GeometrySphere, PolyMesh, GeometryBox, TubeMeshFast, TubeMesh, and GeometryCylinder.
|
virtual |
Compute the value of a color map for the requested fragment.
[in] | eval_ctx | a valid evaluation context |
[in] | fragment | the requested fragment |
[in] | color_map_index | the ID of the color map to use |
[out] | color | output value |
Reimplemented in DisplacementMesh, PolyMeshSmoothed, CurveMesh, PolyMesh, OsdMesh, TubeMeshFast, and TubeMesh.
|
pure virtual |
Compute a sample (position, derivatives, normals) on the geometry for a given fragment.
[in] | eval_ctx | a valid evaluation context |
[in] | fragment | the requested fragment |
[out] | sample | output sample |
Implemented in PolyMeshSmoothed, DisplacementMesh, PolyMesh, OsdMesh, CurveMesh, GeometryBox, ParticleCloud, GeometrySphere, GeometryCylinder, TubeMeshFast, GeometryCylinder_X, TubeMeshNakamaru, GeometryDisk, TubeMeshFixed, GeometrySquare, RibbonMeshNakamaru, TubeMeshFast3d, RibbonMesh, RibbonMeshFast, and TubeMesh3d.
|
virtual |
Compute UVW coordinates and derivatives in a UV map for the requested fragment.
[in] | eval_ctx | a valid evaluation context |
[in] | fragment | the requested fragment |
[in] | uv_map_index | the ID of the UV map to use |
[out] | coord | output UVW coordinates in the UV map |
[out] | dcdu | coordinates derivative along the primitive parametric U axis |
[out] | dcdv | coordinates derivative along the primitive parametric V axis |
Reimplemented in DisplacementMesh, CurveMesh, OsdMesh, PolyMeshSmoothed, PolyMesh, TubeMeshFast, GeometryBox, and TubeMesh.
|
pure virtual |
Compute the bounding box of a primitive.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the primitive |
[out] | bbox | the returned bounding box |
Implemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, ParticleCloud, CurveMesh, GeometrySphere, GeometryBox, GeometryCylinder_X, TubeMeshFast, GeometryDisk, GeometryCylinder, TubeMeshNakamaru, GeometrySquare, and TubeMeshFixed.
|
inlinevirtual |
Compute the bounding box of a primitive.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the primitive |
[in] | xform | transformation to apply to the primitive before computing its bounding box |
[out] | bbox | the returned bounding box |
Reimplemented in TubeMeshFast, TubeMeshNakamaru, and TubeMeshFixed.
|
virtual |
Compute the bounding box of a primitive at a given time.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the primitive |
[in] | time | the local time (relative to the current frame) |
[out] | bbox | the returned bounding box |
Reimplemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, TubeMeshFast, TubeMeshNakamaru, and TubeMeshFixed.
|
inlinevirtual |
Compute the bounding box of a primitive at a given time.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the primitive |
[in] | xform | transformation to apply to the primitive before computing its bounding box |
[in] | time | the local time (relative to the current frame) |
[out] | bbox | the returned bounding box |
Reimplemented in TubeMeshFast, TubeMeshNakamaru, and TubeMeshFixed.
|
inlinevirtual |
Compute the space of a primitive.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the primitive |
[out] | space | the space defining the orientation of the primitive |
Reimplemented in TubeMeshFast, TubeMeshNakamaru, and TubeMeshFixed.
|
virtual |
Compute an estimation of the area of the geometry.
[in] | eval_ctx | a valid evaluation context |
[in] | xform | the transformation matrix of the geometry |
Reimplemented in PolyMeshSmoothed, DisplacementMesh, PolyMesh, OsdMesh, GeometryBox, GeometrySphere, GeometryCylinder, GeometryCylinder_X, GeometryDisk, and GeometrySquare.
|
virtual |
Compute an estimation of the area of a primitive.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the primitive |
[in] | xform | the transformation matrix of the geometry |
Reimplemented in PolyMeshSmoothed, DisplacementMesh, PolyMesh, OsdMesh, GeometryBox, GeometrySphere, CurveMesh, GeometryCylinder, GeometryCylinder_X, TubeMeshFast, TubeMeshNakamaru, GeometryDisk, GeometrySquare, and TubeMeshFixed.
|
virtual |
Compute an estimation of the area of a shading group.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the shading group |
[in] | xform | the transformation matrix of the geometry |
Reimplemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, GeometryBox, GeometrySphere, GeometryCylinder, GeometryDisk, and GeometrySquare.
|
pure virtual |
Get bounding box of the geometry.
Implemented in OsdMesh, ParticleCloud, DisplacementMesh, PolyMesh, GeometryCylinder_X, GeometryDisk, CurveMesh, GeometrySphere, TubeMesh, GeometryCylinder, GeometrySquare, GeometryBox, and PolyMeshSmoothed.
|
virtual |
Get the bounding box of the geometry for the given time.
[in] | eval_ctx | a valid evaluation context |
[in] | time | the local time (relative to the current frame) |
Reimplemented in OsdMesh, ParticleCloud, DisplacementMesh, PolyMesh, and PolyMeshSmoothed.
bool GeometryObject::get_color_map | ( | const unsigned int & | color_map_index, |
GeometryColorMap & | color_map | ||
) | const |
Get a color map.
[in] | color_map_index | the index of the map to retrieve |
[out] | color_map | the corresponding map |
|
inlinevirtual |
Get the number of color maps defined in the geometry.
Reimplemented in DisplacementMesh, CurveMesh, PolyMeshSmoothed, OsdMesh, PolyMesh, and TubeMesh.
|
inlinevirtual |
Get the data of a color map.
[in] | color_map_index | the ID of the color map |
[out] | colors | the array of colors |
[out] | indices | the indices to the colors for each primitive |
Reimplemented in PolyMeshSmoothed, OsdMesh, and PolyMesh.
|
virtual |
Get the name of a color map.
[in] | color_map_index | the ID of the color map |
Reimplemented in DisplacementMesh, CurveMesh, PolyMeshSmoothed, OsdMesh, PolyMesh, and TubeMesh.
void GeometryObject::get_color_maps | ( | CoreArray< GeometryColorMap > & | color_maps | ) | const |
Get all color maps.
[out] | color_maps | the array of maps |
|
pure virtual |
Get a copy of the current geometry.
Implemented in OsdMesh, ParticleCloud, DisplacementMesh, PolyMesh, GeometryCylinder_X, GeometryDisk, CurveMesh, TubeMeshNakamaru, GeometryCylinder, GeometrySphere, GeometrySquare, GeometryBox, PolyMeshSmoothed, TubeMeshFast, RibbonMeshNakamaru, RibbonMesh, RibbonMeshFast, TubeMesh3d, TubeMeshFast3d, and TubeMeshFixed.
bool GeometryObject::get_normal_map | ( | const unsigned int & | normal_map_index, |
GeometryNormalMap & | normal_map | ||
) | const |
Get a normal map.
[in] | normal_map_index | the index of the map to retrieve |
[out] | normal_map | the corresponding map |
|
inlinevirtual |
Get the number of normal maps defined in the geometry.
Reimplemented in PolyMeshSmoothed, CurveMesh, PolyMesh, and TubeMesh.
|
inlinevirtual |
Get the description of a normal map.
[in] | normal_map_index | the ID of the normal map |
[out] | normals | the array of normals |
[out] | indices | the indices to the normals for each primitive |
Reimplemented in PolyMeshSmoothed, and PolyMesh.
|
virtual |
Get the name of a normal map.
[in] | normal_map_index | the ID of the normal map |
Reimplemented in PolyMeshSmoothed, CurveMesh, PolyMesh, and TubeMesh.
void GeometryObject::get_normal_maps | ( | CoreArray< GeometryNormalMap > & | normal_maps | ) | const |
Get all normal maps.
[out] | normal_maps | the array of maps |
|
virtual |
Get the point cloud defined by the geometry.
Reimplemented in PolyMeshSmoothed, PolyMesh, OsdMesh, DisplacementMesh, ParticleCloud, and CurveMesh.
|
pure virtual |
Get the number of primitives in the geometry.
Implemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, ParticleCloud, CurveMesh, GeometrySphere, GeometryCylinder_X, GeometryBox, GeometryDisk, TubeMeshNakamaru, GeometryCylinder, GeometrySquare, TubeMeshFast, and TubeMeshFixed.
|
pure virtual |
Get the number of edges of a primitive.
[in] | id | the ID of the primitive |
Implemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, ParticleCloud, CurveMesh, GeometrySphere, GeometryCylinder_X, GeometryBox, TubeMesh, GeometryDisk, GeometryCylinder, and GeometrySquare.
|
virtual |
Get the list of vertex indices that define all primitives.
[out] | indices | the list of vertex indices |
Reimplemented in PolyMeshSmoothed, PolyMesh, OsdMesh, and DisplacementMesh.
|
inlinevirtual |
Return an estimation of the intersection cost of primitives.
Reimplemented in TubeMeshFast, TubeMeshNakamaru, TubeMeshFixed, and TubeMeshFast3d.
|
pure virtual |
Get the ID of the shading group to which belongs a primitive.
[in] | id | the ID of the primitive |
Implemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, CurveMesh, ParticleCloud, GeometrySphere, GeometryBox, GeometryCylinder_X, TubeMesh, GeometryDisk, GeometryCylinder, GeometrySquare, and TubeMeshFast.
|
inline |
Get the name of the shading group to which belongs a primitive.
[in] | id | the ID of the primitive |
|
virtual |
Get the bounding box of a shading group.
[in] | id | the ID of the shading group |
Reimplemented in OsdMesh, DisplacementMesh, PolyMesh, PolyMeshSmoothed, and TubeMesh.
|
pure virtual |
Get the list of shading groups defined in the geometry.
Implemented in DisplacementMesh, OsdMesh, ParticleCloud, PolyMesh, CurveMesh, GeometryCylinder_X, GeometrySphere, PolyMeshSmoothed, GeometryDisk, TubeMesh, GeometryCylinder, GeometryBox, and GeometrySquare.
bool GeometryObject::get_uv_map | ( | const unsigned int & | uv_map_index, |
GeometryUvMap & | uv_map | ||
) | const |
Get a UV map.
[in] | uv_map_index | the index of the map to retrieve |
[out] | uv_map | the corresponding map |
|
inlinevirtual |
Get the number of UV maps defined in the geometry.
Reimplemented in DisplacementMesh, CurveMesh, OsdMesh, GeometryBox, PolyMesh, PolyMeshSmoothed, TubeMesh, and TubeMeshFast.
|
inlinevirtual |
Get the data of a UV map.
[in] | uv_map_index | the ID of the UV map |
[out] | uvs | the array of UVs |
[out] | indices | the indices to the UVs for each primitive |
Reimplemented in OsdMesh, PolyMesh, PolyMeshSmoothed, and GeometryBox.
bool GeometryObject::get_uv_map_index | ( | const CoreString & | uv_map_name, |
unsigned int & | uv_map_index | ||
) | const |
Get the index of a UV map by name.
[in] | uv_map_name | the name of the map to retrieve |
[out] | uv_map_index | the corresponding index, remains unchanged if the map is not found |
|
virtual |
Get the name of a UV map.
[in] | uv_map_index | the ID of the UV map |
Reimplemented in DisplacementMesh, CurveMesh, OsdMesh, GeometryBox, PolyMesh, PolyMeshSmoothed, TubeMesh, and TubeMeshFast.
void GeometryObject::get_uv_maps | ( | CoreArray< GeometryUvMap > & | uv_maps | ) | const |
Get all UV maps.
[out] | uv_maps | the array of maps |
GMathVec4f GeometryObject::get_uv_range | ( | const GeometryUvMap & | uv_map | ) | const |
Get the UV range from the geometry's uv map.
If no UVs or UV map not found, returns (0, 0, 0, 0).
[in] | uv_map | the corresponding map |
GMathVec4f GeometryObject::get_uv_range | ( | const unsigned int & | uv_map_index | ) | const |
Get the UV range from the geometry's uv map at an index.
If no UVs or UV map index not found, returns (0, 0, 0, 0).
[in] | uv_map_index | the index of the object's uv map |
void GeometryObject::get_uv_tiles | ( | const GeometryUvMap & | uv_map, |
CoreArray< GeometryUvTile > & | tiles | ||
) | const |
Get the non empty UV tiles from a uv map.
[in] | uv_map | the uv map containing the tiles |
[out] | tiles | the result array of UV tiles |
void GeometryObject::get_uv_tiles | ( | const int & | index, |
CoreArray< GeometryUvTile > & | tiles | ||
) | const |
Get the non empty UV tiles from the geometry's uv map at an index.
[in] | index | the index of the object's uv map containing the tiles |
[out] | tiles | the result array of UV tiles |
|
virtual |
Get the number of vertices in the geometry.
Reimplemented in PolyMeshSmoothed, DisplacementMesh, PolyMesh, OsdMesh, ParticleCloud, CurveMesh, and GeometryBox.
|
pure virtual |
Compute the list of intersections between rays and a primitive.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the primitive |
[in,out] | raytrace_ctx | the context containing rays information and output results |
Implemented in PolyMeshSmoothed, DisplacementMesh, PolyMesh, OsdMesh, CurveMesh, ParticleCloud, GeometryBox, GeometrySphere, TubeMeshFast, GeometryCylinder_X, TubeMeshNakamaru, GeometryDisk, GeometryCylinder, TubeMeshFixed, GeometrySquare, RibbonMeshNakamaru, TubeMeshFast3d, RibbonMesh, RibbonMeshFast, and TubeMesh3d.
|
virtual |
Compute the intersection between a frustum and a primitive.
[in] | eval_ctx | a valid evaluation context |
[in] | id | the ID of the primitive |
[in,out] | frustum_ctx | the context containing the frustum information and the output result |
Reimplemented in PolyMeshSmoothed, DisplacementMesh, PolyMesh, OsdMesh, GeometryBox, GeometrySphere, TubeMeshFast, TubeMeshNakamaru, GeometryCylinder, and TubeMeshFixed.
|
virtual |
Indicate if the geometry has an animation for the current frame.
Reimplemented in PolyMesh, OsdMesh, DisplacementMesh, ParticleCloud, PolyMeshSmoothed, CurveMesh, and TubeMesh.
|
inlinevirtual |
Tell if the geometry is linear.
Reimplemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, and GeometryBox.
|
inlinevirtual |
Tell if an edge on a primitive is linear.
[in] | primitive_index | the ID of the primitive to which the edge belongs |
[in] | edge_index | the ID of the edge in the primitive |
Reimplemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, and GeometryBox.
|
inlinevirtual |
Tell if an edge is visible.
[in] | primitive_index | the ID of the primitive to which the edge belongs |
[in] | edge_index | the ID of the edge in the primitive |
Reimplemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, and TubeMeshFast.
|
inlinevirtual |
Tell if a primitive is linear.
[in] | primitive_index | the ID of the primitive |
Reimplemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, OsdMesh, and GeometryBox.
|
inlinevirtual |
Tell if a primitive has a representation in a UV map.
[in] | primitive_id | the ID of the primitive |
Reimplemented in DisplacementMesh, PolyMeshSmoothed, PolyMesh, and OsdMesh.
|
virtual |
Replace the point cloud.
[in] | point_cloud | the new point cloud |
[in] | progress_bar | a progress bar (optional) |
Reimplemented in PolyMesh, OsdMesh, ParticleCloud, and CurveMesh.