Clarisse 3.6 SP10 SDK
3.6.0.0.10
|
Public Types | |
enum | { RESOURCE_ID_GEOMETRY = 0, RESOURCE_ID_GEOMETRY_ANIMATED, RESOURCE_ID_GEOMETRY_DEFORMED, RESOURCE_ID_GEOMETRY_PROPERTIES, RESOURCE_ID_TESSELLATION, RESOURCE_ID_TESSELLATION_DEFORMED, RESOURCE_ID_TESSELLATION_PROPERTIES, RESOURCE_ID_SURFACE, RESOURCE_ID_SURFACE_DEFORMED, RESOURCE_ID_SURFACE_PROPERTIES, RESOURCE_ID_DISPLACEMENT_TOPOLOGY, RESOURCE_ID_DISPLACEMENT_GEOMETRY_FRONT, RESOURCE_ID_DISPLACEMENT_GEOMETRY_BACK, RESOURCE_ID_GAS, RESOURCE_ID_COUNT } |
List of resource slots. More... | |
![]() | |
enum | DisplayMode { DISPLAY_WIREFRAME = 0, DISPLAY_CONSTANT = 1, DISPLAY_NORMALS = 2, DISPLAY_SIMPLE_SHADING = 3, DISPLAY_PREVIZ = 4 } |
enum | HighlightMode { HIGHLIGHT_NONE = 0, HIGHLIGHT_BBOX = 1, HIGHLIGHT_WIREFRAME = 2, HIGHLIGHT_BOTH = HIGHLIGHT_BBOX|HIGHLIGHT_WIREFRAME } |
enum | SamplingAlgorithm { SAMPLING_RANDOM, SAMPLING_BLUE_NOISE, SAMPLING_PRIMITIVE_CENTER } |
enum | SamplingSpace { SAMPLING_LOCAL_BASE = 0, SAMPLING_LOCAL_DEFORMED = 1, SAMPLING_GLOBAL_BASE = 2, SAMPLING_GLOBAL_DEFORMED = 3 } |
![]() | |
enum | Space { SPACE_LOCAL, SPACE_GLOBAL } |
enum | VisibilityMode { VISIBILITY_MODE_OVERRIDE = 0, VISIBILITY_MODE_USE_PROPERTY, VISIBILITY_MODE_USE_PREFERENCES, VISIBILITY_MODE_COUNT } |
VisibilityMode describes how driven visibility attributes are set. More... | |
enum | ParentInPlaceMode { PARENT_IN_PLACE_PREFERENCE, PARENT_IN_PLACE_FORCED_ON, PARENT_IN_PLACE_FORCED_OFF } |
The ParentInPlaceMode enum. | |
Public Member Functions | |
GMathBbox3d | get_bbox (const bool &deformed=true, GeometryOverride *override_data=0) const |
GMathBbox3d | get_bbox_at (const CtxEval &eval_ctx, const double &time, const bool &deformed=true, GeometryOverride *override_data=0) const |
void | get_uv_tiles (const GeometryUvMap &uv_map, CoreArray< GeometryUvTile > &tiles) const |
void | get_uv_tiles (const int &index, CoreArray< GeometryUvTile > &tiles) const |
void | get_uv_tiles (const CoreString &uv_map_name, CoreArray< GeometryUvTile > &tiles) const |
GMathVec4f | get_uv_range (const unsigned int &uv_map_index) const |
GMathVec4f | get_uv_range (const CoreString &uv_map_name) const |
GMathBbox3d | get_shading_group_bbox (const unsigned int &id, const bool &deformed=true, GeometryOverride *override_data=0) const |
void | assign_material (ModuleMaterial &material, const unsigned int &shading_group_index) |
Assign the given material to the specified shading group of the geometry. | |
void | assign_clip_map (ModuleTexture &clip_map, const unsigned int &shading_group_index) |
Assign the given clip map to the specified shading group of the geometry. | |
void | assign_displacement (ModuleDisplacement &displacement, const unsigned int &shading_group_index) |
Assign the given displacement to the specified shading group of the geometry. | |
void | set_shading_group_visibility (const unsigned int &shading_group_index, const bool &visible) |
Set whether a shading group is visible or not. | |
bool | get_shading_group_visibility (const unsigned int &shading_group_index) const |
Get whether a shading group is visible or not. | |
void | dirty_geometries () |
const GeometryObject * | get_geometry (const bool &deformed=true) const |
const GeometryObject * | get_surface (const bool &deformed=true) const |
const GeometryObject * | get_tessellation (const bool &deformed=true) const |
const GeometryObject * | get_displaced_geometry (const bool &front=true) const |
const GeometryPropertyCollection * | get_properties () const |
const GeometryProperty * | get_geometry_property (const unsigned int &property_id, GeometryOverride *override_data=0) const |
const GeometryProperty * | get_tessellation_property (const unsigned int &property_id, GeometryOverride *override_data=0) const |
const GeometryProperty * | get_property (const unsigned int &property_id, GeometryOverride *override_data=0) const |
const GeometryProperty * | get_property (const CoreString &name, GeometryOverride *override_data=0) const |
GasObject * | get_gas (GeometryOverride *override_data=0) const |
bool | is_deformed () const |
Tell if the geometry has a deformer applied to it. | |
bool | is_geometry_animated () const |
Tell if the geometry is animated. | |
bool | is_displaced (const bool &front=true) const |
const CoreBasicArray< unsigned int > & | get_displaced_shading_groups (const bool &front=true) const |
GMathVec3d | get_max_displacement_bound () const |
bool | is_shading_group_displaced (const unsigned int &index) const |
Tell if a shading group is displaced. | |
bool | is_geometry () const |
Return true if the scene object is a geometry. | |
const CoreArray< CoreString > & | get_uv_map_names (const bool blocking=true) const |
Get the names of the UV maps defined the by geometry. | |
double | get_geometry_count () const |
Return the total number of geometries. | |
virtual double | get_primitive_count () const |
Return the total number of primitives. | |
void | get_geometries (CoreArray< ModuleSceneObjectGeometry > &handles, GeometryOverride *override) const |
void | get_geometries_at (const CtxEval &eval_ctx, const double &anim_dt, CoreArray< ModuleSceneObjectGeometry > &handles, GeometryOverride *override) const |
virtual ModuleMaterial * | get_default_material () const |
Get the default material for the geometry. | |
const unsigned int & | get_raytrace_quality () const |
Get the quality of the raytracing. | |
double | get_smoothing_approximation () const |
Get the value of the smoothing approximation to use during the shading. | |
void | pre_evaluate (CtxEval &eval_ctx) const |
virtual size_t | get_memory_size () const |
void | end_evaluation () const |
void | stop_evaluation () |
Stops the GeometryEvaluator of this Geometry. | |
void | on_displacement_storage_mode_change () |
![]() | |
void | register_component_implementation () |
const CoreArray< CoreString > & | get_shading_groups () const |
Return the array of shading group names. C++ only. | |
const CoreArray < ModuleMaterial * > & | get_materials () const |
Return the array of materials. C++ only. | |
const CoreArray< ModuleTexture * > & | get_clip_maps () const |
Return the array of clip map textures. C++ only. | |
const CoreArray < ModuleDisplacement * > & | get_displacements () const |
Return the array of displacements. C++ only. | |
const CoreArray < ShadingVariablesCtx * > & | get_sg_shading_variables () const |
Return the array of shading variables per shading group. C++ only. | |
const unsigned int & | get_shading_group_count () const |
Return the number of shading groups. | |
virtual const unsigned int & | get_object_shading_group_count (const unsigned int &sub_object_index) const |
Return the number of shading groups for the specified sub object //! | |
const unsigned int & | get_material_count () const |
Return the number of shading materials. | |
const unsigned int & | get_displacement_count () const |
Return the number of displacements. | |
const unsigned int & | get_clip_map_count () const |
Return the number of clip maps. | |
const CoreString & | get_shading_group (const unsigned int &index) const |
Return the name of the shading group from the specified index. | |
ModuleMaterial * | get_material (const unsigned int &index) const |
Return the material assigned to the specified shading group index. | |
ModuleTexture * | get_clip_map (const unsigned int &index) const |
Return the texture used as clip map assigned to the specified shading group index. | |
ModuleDisplacement * | get_displacement (const unsigned int &index) const |
Return the displacement assigned to the specified shading group index. | |
ShadingVariablesCtx * | get_sg_shading_variables (const unsigned int &index) const |
Return shading variables assigned to the specified shading group index. | |
void | dirty_shading_groups () const |
Flag shading groups as dirty. For internal use only. | |
void | dirty_materials () const |
Flag materials as dirty. For internal use only. | |
void | dirty_clip_maps () const |
Flag clip maps as dirty. For internal use only. | |
void | dirty_displacements () const |
Flag displacements as dirty. For internal use only. | |
void | dirty_sg_shading_variables () const |
Flag shading group shading variables as dirty. For internal use only. | |
ModuleMaterial * | get_override_material () const |
Return the override material. | |
void | set_override_material (ModuleMaterial *material) |
Set the override material. | |
const CoreArray< ModuleLight * > & | get_lights () const |
Return the explicit array of light assigned to the scene object. C++ only. | |
ModuleGroup * | get_light_group () const |
Return the light group explicitly attached to the scene object. | |
const unsigned int & | get_light_count () const |
Return the number of explicit lights assigned to the scene object. | |
ModuleLight * | get_light (const unsigned int &index) const |
Return the explicit light assigned to the scene object at the specified index. | |
bool | has_lights () const |
Return true if the scene object has lights. | |
bool | cast_shadows () const |
Return true if the scene object casts shadows. | |
bool | receive_shadows () const |
Return true if the scene object receive shadows. | |
bool | unseen_by_renderer () const |
Return true if the scene object is invisible to the renderer. | |
bool | unseen_by_camera () const |
Return true if the scene object is invisible to the camera. | |
bool | unseen_by_rays () const |
Return true if the scene object is unseen by rays. | |
bool | unseen_by_reflections () const |
Return true if the scene object is unseen by reflections. | |
bool | unseen_by_refractions () const |
Return true if the scene object is unseen by refractions. | |
bool | unseen_by_gi () const |
Return true if the scene object is unseen by global illumination. | |
bool | unseen_by_sss () const |
Return true if the scene object is unseen by sub-surface scattering. | |
bool | unseen_by_query () const |
Return true if the scene object is unseen by queries. | |
void | set_unseen_by_query (const bool &value) |
set if the scene object is unseen by queries. | |
bool | is_emitter () const |
Return true if the scene object emits global illumination. | |
bool | is_matte_object () const |
Return true if the scene object is matte. | |
const GMathVec3d & | get_matte_color () const |
Return the matte color. | |
const double & | get_matte_alpha () const |
Return the matte alpha. | |
const unsigned int & | get_display_mode () const |
Return the display mode. | |
const unsigned int & | get_highlight_mode () const |
Return the highlight mode. | |
const double & | get_raytrace_geometric_offset () const |
Return the raytrace geometric offset in meter. | |
bool | is_visible_by_ray_type (const unsigned int &ray_type) const |
const unsigned int & | get_active_material_count () const |
const ModuleMaterial::Flags & | get_all_material_flags () const |
const ModuleMaterial::Flags & | get_common_material_flags () const |
virtual const unsigned int & | get_object_active_material_count (const unsigned int sub_object_index=0) const |
virtual const ModuleMaterial::Flags & | get_object_all_material_flags (const unsigned int sub_object_index=0) const |
virtual const ModuleMaterial::Flags & | get_object_common_material_flags (const unsigned int sub_object_index=0) const |
virtual GeometryOverride * | get_geometry_override (const GeometryOverrideConfig &config) const |
virtual void | get_geometry_attributes_override (const GeometryOverrideConfig &config, GeometryAttributesOverride &attributes) const |
virtual const ResourceData * | get_resource_override (const int &resource_id, GeometryResourceOverride &override_data, void *data=0) const |
void | ray_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRaytraceCtx &raytrace_ctx) const |
void | ray_hit_nearest (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRaytraceCtx &raytrace_ctx) const |
void | frustum_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryFrustumCtx &frustum_ctx) const |
void | ray_frustum_hit (const CtxEval &eval_ctx, CtxShader &shader_ctx, GeometryRayFrustumCtx &ray_frustum_ctx) const |
virtual unsigned int | get_object_count () const |
Return the total number of sub objects. | |
virtual double | get_point_count () const |
Return the total number of points. | |
unsigned int | sample_geometries_one_point (const CoreBasicArray< ModuleSceneObjectGeometry > &geometries, CoreArray< CoreArray< GeometryPrimitiveSampleDescriptor > > &geometry_samples, const long &seed, const double jittering=0.0) const |
unsigned int | sample_geometries_count (const CoreBasicArray< ModuleSceneObjectGeometry > &geometries, CoreArray< GeometryPrimitiveSampleDescriptor > *geometry_samples, const CtxEval &eval_ctx, const SamplingAlgorithm &algorithm, const SamplingSpace &space, const unsigned int &max_sample_count, const long &seed=0, AppProgressBar *progress_bar=0) const |
unsigned int | sample_geometries_density (const CoreBasicArray< ModuleSceneObjectGeometry > &geometries, CoreArray< GeometryPrimitiveSampleDescriptor > *geometry_samples, const CtxEval &eval_ctx, const SamplingAlgorithm &algorithm, const SamplingSpace &space, const double &max_density, const long &seed=0, AppProgressBar *progress_bar=0) const |
bool | has_shading_variables () const |
void | set_shading_variables (const CoreString &text) |
void | remove_all_shading_variables () |
CoreVariant | get_shading_variable (const CoreString &variable_name) const |
ShadingVariablesCtx * | get_shading_variables () const |
Structure * | get_structure () const |
bool | is_overriding_children_visibility () const |
void | add_geometry_override (GeometryOverride *override) const |
void | set_custom_id (const unsigned int &value) |
Set the Custom ID. | |
unsigned int | get_custom_id () const |
Get the Custom ID. | |
![]() | |
void | register_component_implementation () |
bool | is_translatable () const |
return true if the item can be translated | |
bool | is_rotatable () const |
return true if the item can be rotated | |
bool | is_scalable () const |
return true if the item can be scaled | |
bool | is_pivot_translatable () const |
return true if the pivot of the item can be translated | |
bool | is_pivot_rotatable () const |
return true if the pivot of the item can be rotated | |
bool | is_pivot_scalable () const |
return true if the pivot of the item can be scaled | |
ModuleSceneItem * | get_parent () const |
Returns the apparent scene item kinematic parent object if any, with respect to attr muted value or parent disabled state. | |
void | set_parent (ModuleSceneItem *item, const ParentInPlaceMode &mode=PARENT_IN_PLACE_FORCED_OFF) |
Set the kinematic parent for this item. | |
ModuleSceneItem * | get_serialized_parent () const |
Returns the actual scene item kinematic parent object if any, without considering attr muted value or parent disabled state. | |
void | set_rotation_order (const GMathRotationOrder &order) |
void | set_rotation_offset_order (const GMathRotationOrder &order) |
GMathRotationOrder | get_rotation_order () const |
GMathRotationOrder | get_rotation_offset_order () const |
void | set_transform (const GMathTransform &xform) |
void | set_translation (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the item translation in the given space. | |
void | set_rotation (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the item rotation in the given space. | |
void | set_scaling (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the item scaling in the given space. | |
void | set_shearing (const GMathVec3d &sh, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the item scaling in the given space. | |
void | change_translation (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0) |
void | change_rotation (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0) |
void | change_scaling (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0) |
void | change_shearing (const GMathVec3d &sh, const Space &space=SPACE_LOCAL, void *requester=0) |
void | set_translation_offset (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the item translation offset in the given space. | |
void | set_rotation_offset (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the item rotation offset in the given space. | |
void | set_scaling_offset (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the item scaling offset in the given space. | |
void | change_translation_offset (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0) |
void | change_rotation_offset (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0) |
void | change_scaling_offset (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0) |
void | set_rotation_pivot (const GMathVec3d &r, const Space &space=SPACE_LOCAL) |
Set the position of the rotation pivot in the given space. | |
void | set_scaling_pivot (const GMathVec3d &s, const Space &space=SPACE_LOCAL) |
Set the position of the scaling pivot in the given space. | |
void | change_rotation_pivot (const GMathVec3d &r, const Space &space=SPACE_LOCAL) |
void | change_scaling_pivot (const GMathVec3d &s, const Space &space=SPACE_LOCAL) |
void | reset_rotation_pivot () |
Reset the rotation pivot to its initial position. | |
void | reset_scaling_pivot () |
Reset the scaling pivot to its initial position. | |
void | inplace_set_translation (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the kinematic translation without moving the object (offset the translation) | |
void | inplace_set_rotation (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the kinematic rotation without moving the object (offset the rotatation) | |
void | inplace_set_scaling (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the kinematic scaling without moving the object (offset the scale) | |
void | inplace_change_translation (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0) |
void | inplace_change_rotation (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0) |
void | inplace_change_scaling (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0) |
void | inplace_set_translation_offset (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the translation offset without moving the object. | |
void | inplace_set_rotation_offset (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the rotation offset without moving the object. | |
void | inplace_set_scaling_offset (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0) |
Set the scaling offset without moving the object. | |
void | inplace_change_translation_offset (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0) |
void | inplace_change_rotation_offset (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0) |
void | inplace_change_scaling_offset (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0) |
void | set_matrix (const GMathMatrix4x4d &matrix, const Space &space) |
Extract translation, rotation, scale and shear values from the given matrix. | |
GMathTransform | get_transform (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
GMathTransform | get_transform_at (const double &time) const |
GMathTransform | compute_transform_at (const double &time) const |
void | get_translation (GMathVec3d &t, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item translation in the given space. | |
void | get_rotation (GMathVec3d &r, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item rotation in the given space. | |
void | get_scaling (GMathVec3d &s, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item scale in the given space. | |
void | get_shearing (GMathVec3d &sh, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item shear in the given space. | |
void | get_translation_offset (GMathVec3d &t, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item translation in the given space. | |
void | get_rotation_offset (GMathVec3d &r, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item rotation in the given space. | |
void | get_scaling_offset (GMathVec3d &s, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item scaling in the given space. | |
void | get_rotation_pivot (GMathVec3d &r, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the position of the rotation pivot in the given space. | |
void | get_scaling_pivot (GMathVec3d &s, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the position of the scaling pivot in the given space. | |
void | get_rotation_pivot_matrix (GMathMatrix4x4d &r, const Space &space, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item rotation pivot matrix in the given space. | |
void | get_scaling_pivot_matrix (GMathMatrix4x4d &r, const Space &space, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
Returns the item scaling pivot matrix in the given space. | |
const GMathMatrix4x4d & | get_kinematic_matrix (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
const GMathMatrix4x4d & | get_object_matrix (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
const GMathMatrix4x4d & | get_global_matrix (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
const GMathMatrix4x4d & | get_inv_global_matrix (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
const GMathMatrix4x4d | get_reference_global_matrix () const |
void | get_global_position (GMathVec3d &position, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
void | get_global_orientation (GMathMatrix4x4d &orientation, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const |
void | get_translation_at (GMathVec3d &t, const double &time, const Space &space=SPACE_LOCAL) const |
Returns the item translation at the given time in the given space. | |
void | get_rotation_at (GMathVec3d &r, const double &time, const Space &space=SPACE_LOCAL) const |
Returns the item rotation at the given time in the given space. | |
void | get_scaling_at (GMathVec3d &s, const double &time, const Space &space=SPACE_LOCAL) const |
Returns the item scale at the given time in the given space. | |
void | get_shearing_at (GMathVec3d &sh, const double &time, const Space &space=SPACE_LOCAL) const |
Returns the item shear at the given time in the given space. | |
void | get_translation_offset_at (GMathVec3d &t, const double &time, const Space &space=SPACE_LOCAL) const |
Returns the item translation in the given space. | |
void | get_rotation_offset_at (GMathVec3d &r, const double &time, const Space &space=SPACE_LOCAL) const |
Returns the item rotation in the given space. | |
void | get_scaling_offset_at (GMathVec3d &s, const double &time, const Space &space=SPACE_LOCAL) const |
Returns the item scaling in the given space. | |
void | get_model_matrix_at (GMathMatrix4x4d &matrix, const double &time) const |
GMathMatrix4x4d | get_kinematic_matrix_at (const double &time) const |
Returns the item kinematic matrix at the given time. | |
GMathMatrix4x4d | get_object_matrix_at (const double &time) const |
Returns the item object matrix at the given time. | |
GMathMatrix4x4d | get_global_matrix_at (const double &time) const |
Returns the item global matrix at the given time. | |
CoreBasicArray< GMathMatrix4x4d > | get_global_matrix_motion_blur_samples (const CtxEval &eval_ctx) const |
Return samples of the global matrix used for the motion blur. | |
GMathMatrix4x4d | get_global_matrix_motion_blur_at (const CtxEval &eval_ctx, const double &delta_time) const |
Returns the global matrix for the motion blur at the given time. | |
void | get_global_position_at (GMathVec3d &position, const double &time) const |
void | get_global_orientation (GMathMatrix4x4d &orientation, const double &time) const |
const GMathVec3d & | get_display_color () const |
bool | is_display_visible () const |
bool | is_display_pickable () const |
bool | is_constrained () const |
bool | is_animated () const |
bool | is_motion_blur_enabled () const |
bool | is_motion_blur_required () const |
bool | is_motion_blurred () const |
bool | is_locally_motion_blurred () const |
bool | is_animation_motion_blurred () const |
bool | has_kinematic_expression () const |
bool | has_local_animation () const |
void | enable_motion_blur (const bool &flag) |
void | require_motion_blur (const int &increment) |
void | require_motion_blur (const bool &flag) |
void | set_matrices_as_dirty (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_PREVIOUS) |
const unsigned int & | get_object_count () const |
const unsigned int & | get_object_id () const |
bool | is_visibility_driven () const |
CoreString | get_kinematic_full_name () const |
return the fullname of the item in the transformation hierarchy (world://item) | |
void | set_kinematic_full_name_dirty () |
bool | is_kinematic_full_name_dirty () const |
bool | is_inherit_transform () const |
unsigned int | get_reference_frame () const |
double | get_reference_time () const |
void | update_animation_motion_blur (const bool has_animation_motion_blur) |
update_animation_motion_blur Set the flag ANIMATED_MODEL_MATRIX according to has_animation_motion_blur. If the item has change is animation state then it will propagate motion blur dirtiness | |
![]() | |
virtual bool | pre_paint_gl (GlUtilsCtx &ctx) const |
virtual bool | paint_gl (GlUtilsCtx &ctx) const |
virtual bool | destroy_gl_data (GlUtilsGlCtx &gl_ctx) const |
Static Public Member Functions | |
static unsigned int | get_property_id (const CoreString &name) |
static void | lock_properties (const bool &lock) |
static void | get_global_property_names (CoreVector< CoreString > &names) |
Get the registered property names. | |
static void | register_properties (const CoreBasicArray< CoreString > &names) |
Globally registers the given names as available properties. | |
![]() | |
static void | merge_geometries (const CoreVector< ModuleSceneObject * > &objects, CoreArray< GMathVec3d > &vertices, CoreArray< unsigned int > &polygon_indices, CoreArray< unsigned int > &polygon_vertex_count, CoreArray< unsigned int > &polygon_shading_groups, CoreArray< CoreString > &shading_group_names, CoreArray< GeometryUvMap > &uv_maps, CoreArray< GeometryNormalMap > &normal_maps, CoreArray< GeometryColorMap > &color_maps, AppProgressBar *progress_bar=0) |
![]() | |
static const unsigned int & | get_object_count (OfApp &application) |
static ModuleSceneItem * | get_scene_item (OfApp &application, const unsigned int &id) |
return the scene item from the specified id | |
static void | get_all_scene_items (OfApp &application, CoreVector< ModuleSceneItem * > &items) |
return the most up-to-date array of scene items | |
static VisibilityMode | get_visibility_mode (const OfObject &object) |
Protected Member Functions | |
void | register_component_implementations () |
virtual void | module_constructor (OfObject &object) |
virtual void | on_attribute_change (const OfAttr &attr, int &dirtiness, const int &dirtiness_flags) |
virtual ResourceData * | create_resource (const int &id, void *data) const |
virtual void | on_resource_update (const int &id, ResourceData *resource) |
virtual void | module_destructor () |
virtual void | build_shading_groups (CoreArray< CoreString > &shading_groups) const |
virtual void | build_materials (CoreArray< ModuleMaterial * > &materials) const |
virtual void | build_clip_maps (CoreArray< ModuleTexture * > &clip_maps) const |
virtual void | build_displacements (CoreArray< ModuleDisplacement * > &displacements) const |
virtual void | build_sg_shading_variables (CoreArray< ShadingVariablesCtx * > &sg_shading_variables) const |
![]() | |
void | set_override_children_visibility (const bool &override_children) |
virtual ResourceData * | create_resource_override (const int &id, GeometryResourceOverride &override_data, void *data) const |
virtual void | build_shading_groups () const |
virtual void | build_materials () const |
virtual void | build_clip_maps () const |
virtual void | build_displacements () const |
virtual void | build_sg_shading_variables () const |
void | update_material_flags () const |
void | update_geometry_overrides (OfObject &object, const CoreString &event_id, void *data) |
![]() | |
void | in_place_set_parent (const ModuleSceneItem *new_parent_module, const bool &in_place) |
Static Protected Member Functions | |
static void | on_object_removed (OfObjectFactory &factory, const CoreString &event_id, void *data) |
Additional Inherited Members | |
![]() | |
CoreArray< CoreString > | m_shading_groups |
CoreArray< ModuleMaterial * > | m_materials |
CoreArray< ModuleTexture * > | m_clip_maps |
CoreArray< ModuleDisplacement * > | m_displacements |
CoreArray< ShadingVariablesCtx * > | m_sg_shading_variables |
CoreArray< ModuleLight * > | m_lights |
bool | m_shading_groups_dirty |
bool | m_materials_dirty |
bool | m_clip_maps_dirty |
bool | m_displacements_dirty |
bool | m_sg_shading_variables_dirty |
bool | m_lights_dirty |
SysThreadLockRecursive * | m_lock |
Class defining a geometry in Clarisse. A geometry can expose several resources which correspond to the different way of representing it. Most of the resources are of type GeometryObject but some of them are just here to hold data that is shared by several other resources. All the representations are not always available in memory and they are created on demand. For instance, if subdivision surfaces are not activated, the corresponding resources points directly to the base reprensentations of the geometry.
anonymous enum |
List of resource slots.
|
virtual |
Get the bounding box of the geometry.
[in] | deformed | when true, the function uses the deformed version of the geometry |
[in] | override_data | geometry override applied to the geometry (time offset, displacement...) |
Reimplemented from ModuleSceneObject.
|
virtual |
Get the bounding box of the geometry at a given time.
[in] | eval_ctx | a valid evaluation context |
[in] | time | the absolute time at which the bounding box must be computed |
[in] | deformed | when true, the function uses the deformed version of the geometry |
[in] | override_data | geometry override applied to the geometry (time offset, displacement...) |
Reimplemented from ModuleSceneObject.
const GeometryObject * ModuleGeometry::get_displaced_geometry | ( | const bool & | front = true | ) | const |
Get the displaced version of the geometry.
[in] | front | return the front part of the displacement when true, else the back part |
|
inline |
Get the list of displaced shading groups.
[in] | front | if true, give the status of the front displacement, else of the back one |
GasObject * ModuleGeometry::get_gas | ( | GeometryOverride * | override_data = 0 | ) | const |
Get the geometry acceleration structure. This structure is used by the raytracer to detect which primitives are hit.
|
inline |
Get the base version of the geometry.
[in] | deformed | return the animated/deformed version when true |
const GeometryProperty * ModuleGeometry::get_geometry_property | ( | const unsigned int & | property_id, |
GeometryOverride * | override_data = 0 |
||
) | const |
Get a property by its ID.
[in] | property_id | the unique ID corresponding to the property |
[in] | override_data | geometry override applied to the geometry (time offset, displacement...) |
|
inline |
Get the maximum bound of displacement nodes associated to the geometry.
const GeometryPropertyCollection * ModuleGeometry::get_properties | ( | ) | const |
Return the property array if any exists.
const GeometryProperty * ModuleGeometry::get_property | ( | const CoreString & | name, |
GeometryOverride * | override_data = 0 |
||
) | const |
Get a property by its name.
[in] | name | the name of the property |
[in] | override_data | geometry override applied to the geometry (time offset, displacement...) |
|
static |
Get the ID of a property by its name.
[in] | name | of the property |
GMathBbox3d ModuleGeometry::get_shading_group_bbox | ( | const unsigned int & | id, |
const bool & | deformed = true , |
||
GeometryOverride * | override_data = 0 |
||
) | const |
Get the bounding box for a shading group of the geometry.
[in] | id | the index of the shading group |
[in] | deformed | when true, the function uses the deformed version of the geometry |
const GeometryObject * ModuleGeometry::get_surface | ( | const bool & | deformed = true | ) | const |
Get the surface of subdivision of the geometry.
[in] | deformed | return the animated/deformed version when true |
const GeometryObject * ModuleGeometry::get_tessellation | ( | const bool & | deformed = true | ) | const |
Get the tessellated version of the geometry.
[in] | deformed | return the animated/deformed version when true |
GMathVec4f ModuleGeometry::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 not found, returns (0, 0, 0, 0).
[in] | uv_map_index | the index of the object's uv map |
GMathVec4f ModuleGeometry::get_uv_range | ( | const CoreString & | uv_map_name | ) | const |
Get the UV range from the geometry's uv map with the matching name.
If no UVs or UV map index not found, returns (0, 0, 0, 0).
[in] | uv_map_name | the name of the object's uv map |
void ModuleGeometry::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 ModuleGeometry::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 |
void ModuleGeometry::get_uv_tiles | ( | const CoreString & | uv_map_name, |
CoreArray< GeometryUvTile > & | tiles | ||
) | const |
Get the non empty UV tiles from the geometry's uv map with the matching name.
[in] | uv_map_name | the name of the object's uv map containing the tiles |
[out] | tiles | the result array of UV tiles, the array is empty if no map matches the name |
|
inline |
Tell if the geometry is displaced.
[in] | front | if true, give the status of the front displacement, else of the back one |
|
static |
Locks the property map.
[in] | action | to perform: lock or unlock. |