API Documentation
Loading...
Searching...
No Matches
Effect Class Reference

A core class that provides a dynamic effect to an object in a model heirarchy. More...

#include <Effect.h>

Inheritance diagram for Effect:
[legend]
Collaboration diagram for Effect:
[legend]

Public Types

enum  EffectProperties : uint01 {
  e_effect_type , e_is_active , e_start_time , e_end_time ,
  e_frequency , e_extra_size , e_extra_transform , e_destroy_when_finished ,
  e_target_property , e_target_value_a , e_target_value_b
}
 
enum  EffectType : uint01 {
  e_none , e_placeholer , e_3D_fade_in , e_3D_fade_out ,
  e_draw_bounding_box , e_station , e_set_transform , e_scan ,
  e_light , e_design_property , e_model_property , e_material_property ,
  e_geometry_property , e_material_uv_color , e_location_operations , e_azimuth_operations ,
  e_tile_model_to_object
}
 
- Public Types inherited from DesignObject
enum  DesignObjectType {
  e_model = 0x00000001 , e_geometry = 0x00000002 , e_material = 0x00000004 , e_bone = 0x00000008 ,
  e_effect = 0x00000010 , e_layer = 0x00000020 , e_scene = 0x00000040 , e_camera = 0x00000080 ,
  e_selection = 0x00000100
}
 
enum  DesignProperty {
  e_guid , e_design_types , e_transform , e_bounding_box ,
  e_selection_box , e_name , e_description , e_editable_description ,
  e_creation_time , e_modified_time , e_asc_modified_time , e_desc_modified_time ,
  e_bounds_modified_time , e_author , e_creation_software , e_3D_visible ,
  e_tree_visible , e_icon , e_is_selected , e_is_focused ,
  e_allow_interactions , e_file , e_search_terms , e_category ,
  e_deletion_allowed , e_is_deleted , e_is_application_locked , e_is_application_owned ,
  e_bounds_ignored , e_selection_ignored , e_meta_data , e_untranslated_string_data ,
  e_translated_string_data , e_uncompressed_data , e_compressed_data , e_manager_visible ,
  e_library_id , e_is_frozen , e_applied_filters , e_design_property_size
}
 

Public Member Functions

void activate ()
 
void addTarget (const DesignObject &target)
 
void addTarget (uint04 index, const DesignObject &target)
 
void cleanup ()
 
void clearTargets () const
 
void copyFrom (const Effect &effect)
 
void deactivate ()
 
void deleteEffect ()
 
 Effect ()
 
 Effect (DesignObjectBase *property_table)
 
 Effect (uint04 index, DesignObjectBase *property_table)
 
EffectType effectType () const
 
bool getBoundsRotation () const
 
template<class t_type >
t_type getEffectProperty (EffectProperties mat_index) const
 
DesignObject getTarget (uint04 target) const
 
Buffer< DesignObject, uint04, ObjectAllocator< DESIGN_PRIM > > getTargets () const
 
uint04 numberOfTargets () const
 
bool operator!= (const Effect &mat) const
 
bool operator== (const Effect &mat) const
 
void removeTarget (uint04 index)
 
void setBoundsRotation (bool bounds_can_rotate)
 
template<class t_type >
void setEffectProperty (EffectProperties mat_index, const t_type &type)
 
void setEffectType (EffectType type)
 
void setTarget (uint04 index, const DesignObject &target)
 
template<class t_type >
void setTargetProperty (uint04 property_name, t_type value)
 
template<class t_type >
void setTargetProperty (uint04 property_name, t_type value_a, t_type value_b)
 
void setupAsBlinking (fltp04 frequency)
 
void setupAsBoundingBox (const Model &bounds)
 
void setupAsBoundingBox (const Model &bounds, const Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > &targets)
 
void setupAsBoundingBox (const Model &bounds, const Model &target)
 
void setupAsLight (fltp04 intensity=1.0)
 
void setupAsLocationOperations (const Model &reference)
 
void setupAsModelTile (const Model &model_tile)
 
void setupAsSetTransform (const Model &target, const Matrix< fltp08 > &transform, const TimeSpan &span=TimeSpan(1.0))
 
void update (Time current_time, DesignObjectLookup *lock_ptr)
 
- Public Member Functions inherited from DesignObject
void actionDeletedIndex (uint04 index, uint04 size)
 
JSONNode activeFilters () const
 
void addIndex (uint04 index, uint04 size)
 
void appendData (const String &data, bool compressed)
 
DesignObjectBasebase () const
 
void clearMetaData (const String &index)
 
void copyFrom (const DesignObject &object)
 
uint04 designIndex () const
 
 DesignObject ()=default
 
 DesignObject (DesignObjectBase *base)
 
 DesignObject (uint04 index, DesignObjectBase *base)
 
bool doesPropertyBeginWith (DesignProperty property, const char *value, bool ignore_case) const
 
bool doesPropertyBeginWith (DesignProperty property, const String &value, bool ignore_case) const
 
bool doesPropertyContain (DesignProperty property, const char *value, bool ignore_case) const
 
bool doesPropertyContain (DesignProperty property, const String &value, bool ignore_case) const
 
File file () const
 
uint04 getDesignParentIndex () const
 
String getIcon () const
 
template<class t_type >
t_type getInheritedProperty (DesignProperty property) const
 
Time getModifiedTime () const
 
template<class t_type >
t_type getProperty (DesignProperty property) const
 
Scene getScene () const
 
Matrix< fltp08getTransform () const
 
bool hasMetaData (const String &index) const
 
template<class t_type >
bool hasProperty (DesignProperty property) const
 
uint04 index () const
 
bool isDesignType (DesignObjectType mode) const
 
bool isDesignType (uint04 mode) const
 
bool isProperty (DesignProperty property, const char *value) const
 
bool isProperty (DesignProperty property, const String &value) const
 
bool isValid () const
 
const JSONNodemetaData () const
 
const JSONNodemetaData (const String &index) const
 
void offset (const Vector< 3, fltp08 > &offset)
 
 operator bool () const
 
bool operator!= (const DesignObject &model) const
 
bool operator< (const DesignObject &model) const
 
bool operator== (const DesignObject &model) const
 
bool operator> (const DesignObject &model) const
 
DynamicPointer< Table > & propertyTable ()
 
const DynamicPointer< Table > & propertyTable () const
 
void removeMetaData (const String &index, const void *lock_ptr=nullptr)
 
void scale (Vector< 3, fltp08 > scale, Vertex< 3, fltp08 > center_of_scale=Constant< Vertex< 3, fltp08 > >::Invalid)
 
void setActiveFilters (const JSONNode &node)
 
void setDesignType (DesignObjectType mode, bool is_type)
 
void setDesignVisible (bool is_visible)
 
void setMetaData (const JSONNode &node)
 
void setMetaData (const String &index, const bool &data)
 
void setMetaData (const String &index, const fltp08 &data)
 
void setMetaData (const String &index, const JSONNode &node)
 
void setMetaData (const String &index, const String &data)
 
void setMetaData (const String &index, const uint04 &data)
 
template<>
void setProperty (DesignProperty property, const String &value)
 
template<class t_type >
void setProperty (DesignProperty property, const t_type &value)
 
template<>
void setProperty (DesignProperty property, const UUID &value)
 
void updateCreatedTime ()
 
void updateDesignModifiedTime (Time time=Time::SystemTime())
 
void updateDesignTransform (const Matrix< fltp08 > &transform, const void *lock=nullptr)
 
void updateDesignVisible (bool is_visible, const void *lock=nullptr)
 
void updateMetaData (const String &index, const bool &data, const void *lock_ptr=nullptr)
 
void updateMetaData (const String &index, const fltp08 &data, const void *lock_ptr=nullptr)
 
void updateMetaData (const String &index, const String &data, const void *lock_ptr=nullptr)
 
template<class t_type >
void updateProperty (DesignProperty property, const t_type &value, const void *lock=nullptr)
 
UUID uuid () const
 
bool validateDesignObject () const
 

Additional Inherited Members

- Static Public Member Functions inherited from DesignObject
static constexpr const char * FilePathDesignNameVariable ()
 
- Protected Member Functions inherited from DesignObject
void onNameChange (const String &new_name)
 
- Protected Attributes inherited from DesignObject
DesignObjectBasem_base = nullptr
 
uint04 m_design_index = Constant<uint04>::Invalid
 
uint04 m_index = Constant<uint04>::Invalid
 
UUID m_uuid = Constant<UUID>::Invalid
 

Detailed Description

A core class that provides a dynamic effect to an object in a model heirarchy.


autotoc_md822

Member Enumeration Documentation

◆ EffectProperties

Enumerator
e_effect_type 
e_is_active 
e_start_time 
e_end_time 
e_frequency 
e_extra_size 
e_extra_transform 
e_destroy_when_finished 
e_target_property 
e_target_value_a 
e_target_value_b 

◆ EffectType

Enumerator
e_none 
e_placeholer 
e_3D_fade_in 
e_3D_fade_out 
e_draw_bounding_box 
e_station 
e_set_transform 
e_scan 
e_light 
e_design_property 
e_model_property 
e_material_property 
e_geometry_property 
e_material_uv_color 
e_location_operations 
e_azimuth_operations 
e_tile_model_to_object 

Constructor & Destructor Documentation

◆ Effect() [1/3]

Effect ( )

◆ Effect() [2/3]

Effect ( uint04 index,
DesignObjectBase * property_table )

◆ Effect() [3/3]

Effect ( DesignObjectBase * property_table)

Member Function Documentation

◆ activate()

void activate ( )

◆ addTarget() [1/2]

void addTarget ( const DesignObject & target)

◆ addTarget() [2/2]

void addTarget ( uint04 index,
const DesignObject & target )

◆ cleanup()

void cleanup ( )

◆ clearTargets()

void clearTargets ( ) const

◆ copyFrom()

void copyFrom ( const Effect & effect)

◆ deactivate()

void deactivate ( )

◆ deleteEffect()

void deleteEffect ( )

◆ effectType()

EffectType effectType ( ) const

◆ getBoundsRotation()

bool getBoundsRotation ( ) const

◆ getEffectProperty()

template<class t_type >
t_type getEffectProperty ( EffectProperties mat_index) const
inlinenodiscard

◆ getTarget()

DesignObject getTarget ( uint04 target) const

◆ getTargets()

Buffer< DesignObject, uint04, ObjectAllocator< DESIGN_PRIM > > getTargets ( ) const

◆ numberOfTargets()

uint04 numberOfTargets ( ) const

◆ operator!=()

bool operator!= ( const Effect & mat) const
inline

◆ operator==()

bool operator== ( const Effect & mat) const
inline

◆ removeTarget()

void removeTarget ( uint04 index)

◆ setBoundsRotation()

void setBoundsRotation ( bool bounds_can_rotate)

◆ setEffectProperty()

template<class t_type >
void setEffectProperty ( EffectProperties mat_index,
const t_type & type )
inline

◆ setEffectType()

void setEffectType ( EffectType type)

◆ setTarget()

void setTarget ( uint04 index,
const DesignObject & target )

◆ setTargetProperty() [1/2]

template<class t_type >
void setTargetProperty ( uint04 property_name,
t_type value )
inline

◆ setTargetProperty() [2/2]

template<class t_type >
void setTargetProperty ( uint04 property_name,
t_type value_a,
t_type value_b )
inline

◆ setupAsBlinking()

void setupAsBlinking ( fltp04 frequency)

◆ setupAsBoundingBox() [1/3]

void setupAsBoundingBox ( const Model & bounds)

◆ setupAsBoundingBox() [2/3]

void setupAsBoundingBox ( const Model & bounds,
const Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > & targets )

◆ setupAsBoundingBox() [3/3]

void setupAsBoundingBox ( const Model & bounds,
const Model & target )

◆ setupAsLight()

void setupAsLight ( fltp04 intensity = 1.0)

◆ setupAsLocationOperations()

void setupAsLocationOperations ( const Model & reference)

◆ setupAsModelTile()

void setupAsModelTile ( const Model & model_tile)

◆ setupAsSetTransform()

void setupAsSetTransform ( const Model & target,
const Matrix< fltp08 > & transform,
const TimeSpan & span = TimeSpan(1.0) )

◆ update()

void update ( Time current_time,
DesignObjectLookup * lock_ptr )

The documentation for this class was generated from the following file: