Clarisse 5.0 SP8 SDK
5.0.5.8.0
|
Public Types | |
enum | DisplacementMode { DISPLACEMENT_NONE = 0, DISPLACEMENT_FRONT = 1, DISPLACEMENT_BACK = 2, DISPLACEMENT_FRONT_AND_BACK = 3 } |
![]() | |
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 | EmissionImportanceSamplingMode { EMISSION_LOCAL = 0, EMISSION_GLOBAL = 1, EMISSION_NONE = 2 } |
enum | EmissionTextureImportanceSamplingMode { ETIS_NONE = 0, ETIS_COLOR = 1, ETIS_WEIGHT = 2, ETIS_BOTH = 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. | |
typedef unsigned long long | Flags |
Public Member Functions | |
virtual GMathBbox3d | get_bbox (const bool &deformed=true, GeometryOverride *override_data=0) const override |
virtual GMathBbox3d | get_bbox_at (const CtxEval &eval_ctx, const double &time, const bool &deformed=true, GeometryOverride *override_data=0) const override |
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. | |
const CoreArray< CoreString > & | get_uv_map_names (const bool blocking=true) const |
Get the names of the UV maps defined the by geometry. | |
virtual double | get_geometry_count () const override |
Return the total number of geometries. | |
virtual double | get_primitive_count () const override |
Return the total number of primitives. | |
virtual void | get_geometries (CoreArray< ModuleSceneObjectGeometry > &handles, GeometryOverride *override) const override |
virtual void | get_geometries_at (const CtxEval &eval_ctx, const double &anim_dt, CoreArray< ModuleSceneObjectGeometry > &handles, GeometryOverride *override) const override |
virtual void | get_geometry (const CoreBasicArray< unsigned int > &geometry_id_hierarchy, CoreArray< ModuleSceneObjectGeometry > &handles, GeometryOverride *override) const override |
virtual void | get_geometry_at (const CoreBasicArray< unsigned int > &geometry_id_hierarchy, const CtxEval &eval_ctx, const double &anim_dt, CoreArray< ModuleSceneObjectGeometry > &handles, GeometryOverride *override) const override |
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 override |
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 //! | |
virtual unsigned int | get_object_shading_group_offset (const unsigned int &sub_object_index) const |
Return the shading group offset 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_material_flags () const |
Flag material flags 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 | is_emission_importance_sampling_enabled () const |
Return true if the scene object emissive shading groups have to be sampled as a light. | |
bool | is_emission_texture_importance_sampling_enabled () const |
Return true if emission texture must be importance sampled if emission importance sampling is on. | |
EmissionTextureImportanceSamplingMode | get_emission_texture_importance_sampling_mode () const |
Return true if emission texture must be importance sampled if emission importance sampling is on. | |
bool | is_emission_importance_sampling_local () const |
Return true if the scene object emissive shading groups have to be sampled as an individual light. | |
bool | is_emission_importance_sampling_global () const |
Return true if the scene object emissive shading groups have to be sampled as a light in the global sampling acceleration structure. | |
bool | is_emissive_material_light () const |
Return true if the scene object emissive shading groups have to be sampled as a material. | |
const unsigned int & | get_emission_sample_count () const |
Return the number of sample that have to be used to sample the geometry if it is a light. | |
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 | receive_self_shadows () const |
Return true if the scene object receive self 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 | seen_by_query () const |
Return true if the scene object is seen by queries eventhough not visible. | |
void | set_seen_by_query (const bool &value) |
set if the scene object is seen by queries eventhough not visible. | |
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 unsigned int | get_shading_group_sub_object_index (const unsigned int &shading_group_index) 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, GeometryOverride &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 |
bool | is_geometry () const |
Return true if the scene object is a geometry. | |
bool | is_compound () const |
Return true if the scene object is a composition of other objects (i.e: combiner, scatterer, geometry bundle) | |
bool | is_geometry_bundle () |
Return true if the scene object is a geometry bundle. | |
virtual unsigned int | get_object_count () const |
Return the total number of sub objects. | |
virtual void | get_objects (CoreArray< ModuleSceneObject * > &sub_objects) |
Return the list 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. | |
GMathMatrix4x4d | get_global_matrix_motion_blur (const CtxEval &eval_ctx, const GeometryMotionBlurSample &ms) const |
Returns the global matrix for the motion blur at the given motion blur sample. | |
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_display_motion_trail (bool selected) const |
bool | is_constrained () const |
short | get_xform_constraint_modifier () 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 | |
const Flags & | get_flags () const |
Get flags that are enabled on the current scene item. | |
void | enable_flags (const Flags &flags) |
Enable flags on the current scene item. | |
void | disable_flags (const Flags &flags) |
Disable flags on the current scene item. | |
![]() | |
virtual bool | pre_paint_gl (GlUtilsCtx &ctx) const |
virtual bool | paint_gl (GlUtilsCtx &ctx) const |
virtual bool | destroy_gl_data (GlUtilsGlCtx &gl_ctx) const |
virtual GMathBbox3d | get_gl_bbox (GlUtilsCtx &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) |
static Flags | reserve_flag () |
Get a flag that is not used yet and reserve it. | |
Static Public Attributes | |
static const ResourceID | RESOURCE_ID_GEOMETRY = ModuleObject::declare_resource("geometry") |
The geometry reference. | |
static const ResourceID | RESOURCE_ID_GEOMETRY_ANIMATED = ModuleObject::declare_resource("geometry_animated") |
The animated version of the geometry. | |
static const ResourceID | RESOURCE_ID_GEOMETRY_DEFORMED = ModuleObject::declare_resource("geometry_deformed") |
The same geometry but deformed by a deformer. | |
static const ResourceID | RESOURCE_ID_GEOMETRY_PROPERTIES = ModuleObject::declare_resource("geometry_properties") |
List of properties that are bound to the reference geometry. | |
static const ResourceID | RESOURCE_ID_TESSELLATION = ModuleObject::declare_resource("tessellation") |
Tessellated version of the reference geometry. | |
static const ResourceID | RESOURCE_ID_TESSELLATION_DEFORMED = ModuleObject::declare_resource("tessellation_deformed") |
Tessellated version of the animated/deformed geometry. | |
static const ResourceID | RESOURCE_ID_TESSELLATION_PROPERTIES = ModuleObject::declare_resource("tessellation_properties") |
List of properties that are bound to the tessellated geometry. | |
static const ResourceID | RESOURCE_ID_SURFACE = ModuleObject::declare_resource("surface") |
Subdivision surface representation of the reference geometry. | |
static const ResourceID | RESOURCE_ID_SURFACE_DEFORMED = ModuleObject::declare_resource("surface_deformed") |
Subdivision surface representation of the animated/deformed geometry. | |
static const ResourceID | RESOURCE_ID_SURFACE_PROPERTIES = ModuleObject::declare_resource("surface_properties") |
List of properties that are bound to the subdivision surface geometry. | |
static const ResourceID | RESOURCE_ID_DISPLACEMENT_TOPOLOGY = ModuleObject::declare_resource("displacement_topology") |
Topology of the displaced version of the animated/deformed geometry. | |
static const ResourceID | RESOURCE_ID_DISPLACEMENT_GEOMETRY_FRONT = ModuleObject::declare_resource("displacement_geometry_front") |
Front of the displaced version of the animated/deformed geometry. | |
static const ResourceID | RESOURCE_ID_DISPLACEMENT_GEOMETRY_BACK = ModuleObject::declare_resource("displacement_geometry_back") |
Back of the displaced version of the animated/deformed geometry. | |
static const ResourceID | RESOURCE_ID_GAS = ModuleObject::declare_resource("gas") |
Geometric accelleration structure used by the raytracer. | |
static const ResourceID | RESOURCE_ID_GEOMETRY_SMOOTHED = ModuleObject::declare_resource("geometry_smoothed") |
static const ResourceID | RESOURCE_ID_GEOMETRY_SMOOTHED_DEFORMED = ModuleObject::declare_resource("geometry_smoothed_deformed") |
Protected Member Functions | |
void | register_component_implementations () |
virtual void | module_constructor (OfObject &object) override |
virtual void | on_attribute_change (const OfAttr &attr, int &dirtiness, const int &dirtiness_flags) override |
virtual ResourceData * | create_resource (const int &id, void *data) const override |
virtual void | on_resource_update (const int &id, ResourceData *resource) override |
virtual void | module_destructor () override |
virtual void | build_shading_groups (CoreArray< CoreString > &shading_groups) const override |
virtual void | build_materials (CoreArray< ModuleMaterial * > &materials) const override |
virtual void | build_clip_maps (CoreArray< ModuleTexture * > &clip_maps) const override |
virtual void | build_displacements (CoreArray< ModuleDisplacement * > &displacements) const override |
virtual void | build_sg_shading_variables (CoreArray< ShadingVariablesCtx * > &sg_shading_variables) const override |
![]() | |
void | set_override_children_visibility (const bool &override_children) |
virtual ResourceData * | create_resource_override (const int &id, GeometryOverride &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 EventInfo &event, 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_material_flags_dirty |
bool | m_clip_maps_dirty |
bool | m_displacements_dirty |
bool | m_sg_shading_variables_dirty |
bool | m_lights_dirty |
SysThreadLockRecursive * | m_lock |
![]() | |
static Flags | s_geometry_flag = ModuleSceneItem::reserve_flag() |
static Flags | s_compound_flag = ModuleSceneItem::reserve_flag() |
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.
|
overridevirtual |
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.
|
overridevirtual |
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 |
|
overridevirtual |
The get_geometry(_at) function will set an array of ModuleSceneObjectGeometry containing the geometry(ies if there is bundle). The geometry will be found thanks to the geometry_id_hierarchy. This attributes contains all the indices of the object in regards of their parents.
Example : We want to find E ``` scatterer[ A B combiner[ C bundle[D E] ] ] [ 0 1 2 [ 0 1] ] geometry_id_hierarchy = [2, 1] ``` The function will return 2 ModuleSceneObjectGeometry [D E], to get E you will need to use the geometry_local_index that is stored in the intersection
Reimplemented from ModuleSceneObject.
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. |