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
}
 Values stored in the property database. More...
 

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
 Creates an "invalid" design object. This object does not have a backing database, and all indices will be Invalid. Checking properties on this object is not permitted but you may use the '=' to set this model to a different model.
 
 DesignObject (DesignObjectBase *base)
 Creates an new design object within the given DesignObjectBase. This object is appended to the end of the DesignObjectBase data structure and values are setup to defaults.
 
 DesignObject (uint04 index, DesignObjectBase *base)
 Sets a DesignObject up to be a pointer to an existing object in the database. If the index is invalid behavior is undefined.
 
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.


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: