Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
ModuleTool Class Reference

This class implements Tools in Clarisse. More...

Inheritance diagram for ModuleTool:
ModuleObject OfModule ResourceUser EventObject CoreCustomData CoreBaseObject CoreBaseType

Public Types

enum  Mode {
  MODE_VALUE,
  MODE_OFFSET,
  MODE_PIVOT,
  MODE_COUNT
}
 
enum  Space {
  SPACE_LOCAL,
  SPACE_WORLD,
  SPACE_GIZMO,
  SPACE_TRA_OBJECT,
  SPACE_ROT_GIMBAL,
  SPACE_COUNT
}
 

Public Member Functions

GuiWidgetget_options (GuiWidget &parent)
 This function returns a pointer to the GuiWidget that is used to edit the options of the Tool.
 
bool enter (CtxTool &ctx)
 This function is called when the mouse enters a Widget.
 
void leave (CtxTool &ctx)
 This function is called when the mouse exits a Widget.
 
void pre_destroy (CtxTool &ctx)
 This function is called when the Widget hosting the Tool is about to be destroyed.
 
void update (CtxTool &ctx)
 This function is called if the tool needs to be udpated, for example if the selected object changes.
 
void on_vizroot_change (const OfContext *vizroot)
 This function is called if the tool needs to be udpated whenever the application vizroot changes.
 
void set_description (const CoreString &str)
 Sets the tool description.
 
const CoreStringget_description () const
 Returns the tool description.
 
const bool & is_active () const
 
void draw (CtxTool &ctx, CtxDraw &draw)
 Calls the draw callback.
 
void draw_2d (CtxTool &ctx)
 Calls the draw_2D callback.
 
void draw_3d (CtxTool &ctx)
 Calls the draw_3D callback.
 
int process_event (CtxTool &ctx, const CtxToolEvent &evt)
 Event handling.
 
bool get_bbox (CtxTool &ctx, GMathBbox3d &box)
 Retrieves the bbox defined by the tool. Return true and the gizmo bbox in world space or false if no bbox defined.
 
bool get_actions (CoreVector< GuiAction * > &actions)
 Retrieves the actions defined by the tool. Return true and fills the array or false if no action available.
 
bool is_hidden_item (CtxTool &ctx, const OfObject &item)
 This function is called when the Widget hosting the Tool repaints itself, to skip items the tool wants to be invisible.
 
virtual void reset_attribute (OfAttr *attr)
 Called by ToolOption widget to reset the given attribute, or all attributes if none is specified.
 
- Public Member Functions inherited from ModuleObject
virtual bool is_protected () const override
 
bool add_resource (const int &resource_id, const CoreBasicArray< OfAttrDirtiness > &attributes, OfResourceCustom *resource_custom=0)
 
bool add_shared_resource (const int &resource_id, const int &source_resource_id)
 
bool remove_resource (const int &resource_id)
 
bool set_resource_attrs (const int &resource_id, const CoreBasicArray< OfAttr * > &attributes)
 
bool set_resource_attrs (const int &resource_id, const CoreBasicArray< OfAttrDirtiness > &attributes)
 
bool get_resource_attrs (const int &resource_id, CoreVector< OfAttr * > &attributes) const
 
bool get_resource_attrs (const int &resource_id, CoreVector< OfAttrDirtiness > &attributes) const
 
bool set_resource_deps (const int &resource_id, const CoreBasicArray< ResourceID > &deps)
 
bool get_resource_deps (const int &resource_id, CoreVector< int > &deps) const
 
CoreString get_resource_key (ResourceID resource_id, GeometryResourceOverride *resource_override=nullptr)
 
bool set_resource_user_key (ResourceID resource_id, bool user_key)
 
bool get_resource_user_key (ResourceID resource_id, bool &user_key) const
 
bool share_resource (const int &resource_id, const int &source_resource_id)
 Make resource_id a "clone" of source_resource_id.
 
int get_shared_resource (const int &resource_id) const
 Get the source resource ID for a resource ID that has been shared.
 
void clear_resource (const int &resource_id)
 If this resource ID exists clear it, otherwise does nothing.
 
void update_resource (const int &resource_id)
 
void clear_unused_variations (void)
 
virtual const ResourceDataget_resource (const int &resource_id, void *data=0) const
 
virtual const ResourceDatatry_get_resource (const int &resource_id) const
 
bool is_resource_created (const int &resource_id) const
 
bool is_resource_exists (const int &resource_id) const
 
bool is_sharing_resource (const ModuleObject &other, const int &resource_id) const
 
GuiWidgetdeclare_custom_ui (const CoreVector< OfAttrHandle > &attrs, GuiWidget &parent_widget, void *info)
 
GuiSpreadsheetCellget_custom_table_cell_ui (const OfAttrTable &table, GuiSpreadsheetRow &parent, unsigned int column, unsigned int cell, bool enabled)
 
CoreString get_custom_attribute_label (const OfAttr &attribute) const
 
bool update_resource_key (const int &resource_id)
 Update the key for the given resource ID and return true if it has changed.
 
virtual void update_resource_keys () override
 Update the keys of all resource IDs for this object.
 
bool get_resource_link_id (const ResourceConnection &connection, int &resource_id) const
 Get the resource ID used by a given connection.
 
bool get_resource_link_tag (const ResourceConnection &connection, CoreString &resource_tag) const
 Like get_resource_link_id but get the resource tag (e.g. name)
 
bool get_resource_tag (ResourceObject &resource, CoreString &resource_tag) const
 Get the resource tag (name) of a given resource object.
 
virtual void post_render (const CtxEval &eval_ctx) const
 
bool has_resources () const
 
void dump_resources () const
 Log all resources + variations (overrides) used by this object.
 
const ResourceHandler & get_resource_handler () const
 
ResourceHandler & get_resource_handler ()
 
virtual void register_variable (CoreBasicArray< OfObjectVariableValue * > &variables, CoreVector< unsigned int > &unknown_variable_indices) override
 register_variable method is called by the OfObject to inform the module about the variables defined in the OfObject, then module have the responsibility to update the OfObject variable values
 
virtual void unregister_variable (CoreBasicArray< OfObjectVariableValue * > &variables) override
 unregister_variable method is called by the OfObject to inform the module about the no longer used variables
 
void udpate_variables_status (CoreBasicArray< unsigned int > &known_variables, CoreBasicArray< unsigned int > &unknown_variables)
 informs the module that some variables can be resolved or not.
 
virtual OfAttrget_master_input_value () const
 
virtual OfAttrget_pass_through () const
 
virtual OfAttrget_master_input () const
 
virtual unsigned int get_object_variable (const CoreString &variable_name, long long *values, const unsigned int &value_count) const
 Evaluate the object variable as a natural number.
 
virtual unsigned int get_object_variable (const CoreString &variable_name, double *values, const unsigned int &value_count) const
 Evaluate the object variable as a real number.
 
virtual size_t get_memory_size () const override
 
bool add_variation (unsigned int variation_key, ResourceUser *user)
 Add a new resource variation for the module. This method returns true if a new variation was created, false if it already existed. When the method returns true, you need to get the variation (get_variation), and configure it, otherwise you have nothing to do (the variation is already created and configured)
 
ResourceVariation get_variation (unsigned int variation_key)
 Get a wrapper of the resource variation given its key.
 
void remove_variation (unsigned int variation_key, ResourceUser *user)
 Remove the variation given its key.
 
void clear_resource (unsigned int variation_key, ResourceID resource_id)
 If this resource ID exists in the given variation clear it, otherwise does nothing.
 
unsigned int create_resource_hash (ResourceID resource_id) const
 Return a hash key of the current resource data for this module which can be used as a fingerprint.
 
unsigned int create_resource_hash (unsigned int variation_key, ResourceID resource_id) const
 Return a hash key of the current resource data for this module which can be used as a fingerprint.
 
bool is_resource_connection_for_id (ResourceID resource_id, const ResourceConnection &connection) const
 Return true if the given resource connection corresponds to the resource connection for this resource ID.
 
bool is_resource_connection_for_id (unsigned int variation_key, ResourceID resource_id, const ResourceConnection &connection) const
 Return true if the given resource connection corresponds to the resource connection for this resource ID for this variation.
 
- Public Member Functions inherited from OfModule
OfObjectget_object () const
 
void set_object (OfObject &object)
 
CoreString get_object_name () const
 
OfItemHandle get_traversal_item () const
 Get the "replacement" item of the current module object. Returns get_object() if no replacement item exists.
 
bool is_traversal () const
 
void set_shading_layer_values (const CoreBasicArray< OfObject * > &new_materials, const CoreBasicArray< OfObject * > &new_clip_maps, const CoreBasicArray< OfObject * > &new_displacements) const
 
OfAppget_application () const
 
virtual CoreBasicArray
< OfObject * > 
get_inputs () const
 
bool is_kindof (const OfClass &object) const =delete
 

Static Public Member Functions

static void set_gizmo_world_pivot (const GMathVec3d &v)
 
static void set_gizmo_custom_offset (const GMathVec3d &v)
 
static const GMathVec3d & get_gizmo_world_pivot ()
 
static const GMathVec3d & get_gizmo_custom_offset ()
 
static void set_gizmo_translate_increment (double d)
 
static void set_gizmo_rotate_increment (double d)
 
static void set_gizmo_scale_increment (double d)
 
static double get_gizmo_translate_increment ()
 
static double get_gizmo_rotate_increment ()
 
static double get_gizmo_scale_increment ()
 
static void set_mode (Mode m)
 
static const Mode & get_mode ()
 
static void set_space (Space s)
 
static const Space & get_space ()
 
static void set_transform_space (Space s)
 
static const Space & get_transform_space ()
 
static void set_linked_space (bool link)
 
static bool is_linked_space ()
 
- Static Public Member Functions inherited from ModuleObject
static ResourceID declare_resource (const char *tag)
 
static ResourceID declare_resource (const CoreString &tag)
 
static bool declare_resource (ResourceID id, const char *tag)
 
static bool declare_resource (ResourceID id, const CoreString &tag)
 
static ResourceID get_resource_id (const char *tag)
 
static ResourceID get_resource_id (const CoreString &tag)
 
static const char * get_resource_tag (ResourceID id)
 
static void clear_unused_resources (SysThreadManager &thread_manager, const CoreBasicArray< OfObject * > &objects)
 

Protected Member Functions

virtual void module_constructor (OfObject &object) override
 
- Protected Member Functions inherited from ModuleObject
bool get_builtin_variable_value (const CoreString &var_name, CoreVector< CoreVariant > &value) const
 
bool get_builtin_variable_value_at (const CoreString &var_name, CoreVector< CoreVariant > &value, const double &time) const
 
virtual void module_destructor () override
 
virtual void on_attribute_change (const OfAttr &attr, int &dirtiness, const int &dirtiness_flags) override
 
virtual void on_send_event (const CoreString &event) override
 
virtual ResourceDatacreate_resource (const int &id, void *data) const
 
virtual void on_resource_update (const int &id, ResourceData *resource)
 
virtual bool on_new_time (const double &time) override
 
virtual void * create_eval_data (const CtxEval &eval_ctx) const
 
virtual void destroy_eval_data (const CtxEval &eval_ctx, void *eval_data) const
 
virtual void * create_thread_data (const CtxEval &eval_ctx) const
 
virtual void destroy_thread_data (const CtxEval &eval_ctx, void *thread_data) const
 
virtual bool has_thread_data () const
 
virtual ModuleCmacreate_cma (const CtxEval *eval_ctx) const
 
virtual void destroy_cma (ModuleCma *cma) const
 
const bool pre_evaluate_begin (const CtxEval &eval_ctx) const
 
void pre_evaluate_end (const CtxEval &eval_ctx) const
 
virtual ResourceDataset_resource_data (const int &resource_id, ResourceData *data, const CoreString &key) override
 
virtual ResourceDataset_resource_data (const int &resource_id, void *data_serial, const size_t &data_serial_size, const CoreString &key) override
 
virtual unsigned int get_project_resource_count () const override
 
virtual int get_project_resource_id (const unsigned int &index) const override
 
virtual ResourceObject * get_project_resource (const unsigned int &index) const override
 
const OfResourceCustomget_custom_resource (const int &id) const
 
virtual void get_attr_preset_hints (CoreArray< bool > &hints, const OfAttr &attr) override
 
- Protected Member Functions inherited from OfModule
void protect_object (const bool &enable) const
 
virtual void on_deserialize (const CoreVersion &serial_version, const ParserGroup &parser_group, const OfSerialOptions &serial_options)
 
template<class T_Callbacks >
T_Callbacks * get_callbacks () const
 
void set_callbacks (OfClassCallbacks *clbk)
 

Additional Inherited Members

- Static Public Attributes inherited from ModuleObject
static constexpr unsigned int null_variation = 0
 Key of the null resource variation.
 

Detailed Description

This class implements Tools in Clarisse.