Clarisse 4.0 SP10 SDK  4.0.0.0.10
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
ModuleObject Class Reference
Inheritance diagram for ModuleObject:
OfModule ResourceUser EventObject CoreCustomData CoreBaseObject CoreBaseType ModuleLanguage ModuleProjectItem ModuleScripting ModuleTool ModuleWidget ModuleAovStore ModuleConstraint ModuleDeformer ModuleDisplacement ModuleGlObject ModuleGroup ModuleImage ModuleImageFilter ModuleIntegrator ModuleLayer ModuleLpe ModuleMaterial ModuleProcess ModuleProjectSearchPath ModuleRenderer ModuleScriptedClass ModuleSearchPath ModuleShadingLayer ModuleSubPixelFilter ModuleUnknown ModuleUvSlot

Classes

struct  ResourceCustom
 

Public Member Functions

bool is_protected () const
 
bool add_resource (const int &resource_id, const CoreBasicArray< OfAttrDirtiness > &attributes, ResourceCustom *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
 
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)
 
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< OfAttr * > &attrs, GuiWidget &parent_widget, void *info)
 
bool update_resource_key (const int &resource_id)
 Update the key for the given resource ID and return true if it has changed.
 
void update_resource_keys ()
 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.
 
OfAppget_application () const
 
virtual void post_evaluate (const CtxEval &eval_ctx) const
 
bool has_resources () const
 
const ResourceHandler & get_resource_handler () const
 
ResourceHandler & get_resource_handler ()
 
virtual void register_variable (CoreBasicArray< OfObjectVariableValue * > &variables, CoreVector< unsigned int > &unknown_variable_indices)
 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)
 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
 
- Public Member Functions inherited from OfModule
OfObjectget_object () const
 
void set_object (OfObject &object)
 
bool is_protected () const
 
CoreString get_object_name () const
 

Static Public Member Functions

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)
 

Protected Member Functions

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_constructor (OfObject &object)
 
virtual void module_destructor ()
 
virtual void on_attribute_change (const OfAttr &attr, int &dirtiness, const int &dirtiness_flags)
 
virtual void on_send_event (const CoreString &event)
 
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)
 
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)
 
virtual ResourceDataset_resource_data (const int &resource_id, void *data_serial, const size_t &data_serial_size, const CoreString &key)
 
virtual unsigned int get_project_resource_count () const
 
virtual int get_project_resource_id (const unsigned int &index) const
 
virtual ResourceObject * get_project_resource (const unsigned int &index) const
 
virtual void get_attr_preset_hints (CoreArray< bool > &hints, const OfAttr &attr)
 
template<class T_Callbacks >
T_Callbacks * get_callbacks () const
 
- 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)
 

Friends

class CtxEval
 

Additional Inherited Members

- Public Types inherited from EventObject
typedef void(* EventInfoFunction )(EventObject &, const EventInfo &, void *)
 
typedef void(EventObject::* EventInfoMethod )(EventObject &, const EventInfo &, void *)
 
typedef void(* EventFunction )(EventObject &, const CoreString &, void *)
 
typedef void(EventObject::* EventMethod )(EventObject &, const CoreString &, void *)
 

Member Function Documentation

void ModuleObject::clear_resource ( const int &  resource_id)

If this resource ID exists clear it, otherwise does nothing.

Note
The next call to get_resource will recreate it.
unsigned int ModuleObject::get_object_variable ( const CoreString variable_name,
long long *  values,
const unsigned int &  value_count 
) const
virtual

Evaluate the object variable as a natural number.

Parameters
[in]variable_namename of the variable
[out]valuesoutput values
[in]value_countthe number of values to be returned
Returns
the number of values that have been returned
unsigned int ModuleObject::get_object_variable ( const CoreString variable_name,
double *  values,
const unsigned int &  value_count 
) const
virtual

Evaluate the object variable as a real number.

Parameters
[in]variable_namename of the variable
[out]valuesoutput values
[in]value_countthe number of values to be returned
Returns
the number of values that have been returned
bool ModuleObject::get_resource_link_id ( const ResourceConnection &  connection,
int &  resource_id 
) const

Get the resource ID used by a given connection.

Parameters
connectionThe resource connection to check.
resource_idThe resource ID will be stored in this reference.
Returns
true if resource_id was found, false otherwise (basically when the connection is unknown to this object)
int ModuleObject::get_shared_resource ( const int &  resource_id) const

Get the source resource ID for a resource ID that has been shared.

Parameters
resource_idThe resource ID to check.
Returns
The source resource ID, or -1 if resource_id is not shared.
void ModuleObject::register_variable ( CoreBasicArray< OfObjectVariableValue * > &  variables,
CoreVector< unsigned int > &  unknown_variable_indices 
)
virtual

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

Parameters
variablesis the set of variables defined in the OfObject
unknown_variable_indicesis the list of indices (from variables array) that failed to be resolved

Implements OfModule.

bool ModuleObject::share_resource ( const int &  resource_id,
const int &  source_resource_id 
)

Make resource_id a "clone" of source_resource_id.

Note
ModuleObjectCallbacks::cb_create_resource will no longer be called for resources of type resource_id, since source_resource_id will be used in its place.
Returns
true if it succeeded, false otherwise (if either one of resource_id or source_resource_id doesn't exist for instance)
void ModuleObject::udpate_variables_status ( CoreBasicArray< unsigned int > &  known_variables,
CoreBasicArray< unsigned int > &  unknown_variables 
)

informs the module that some variables can be resolved or not.

Parameters
known_variablesis the set of new variables that can be resolved.
unknown_variablesis the set of variables that can no longer be resolved.
Note
each list contains a list of variables identifiers.
void ModuleObject::unregister_variable ( CoreBasicArray< OfObjectVariableValue * > &  variables)
virtual

unregister_variable method is called by the OfObject to inform the module about the no longer used variables

Parameters
variablesis the set of variables defined in the OfObject that will be released

Implements OfModule.