Graphite Version 3
An experimental 3D geometry processing program
Loading...
Searching...
No Matches
OGF::MetaStruct Class Reference

MetaType for GOM struct objects, such as StructPropertyRef. More...

#include <OGF/gom/reflection/meta_struct.h>

Inheritance diagram for OGF::MetaStruct:
OGF::MetaClass OGF::MetaType OGF::MetaInformation OGF::Object OGF::CustomAttributes GEO::Counted

Public Member Functions

 MetaStruct (const std::string &struct_name)
 Constructs a new MetaStruct.
 
 ~MetaStruct () override
 MetaStruct destructor.
 
size_t offset (const MetaProperty *mprop) const
 Finds the offset of a field.
 
index_t field_index (const MetaProperty *mprop) const
 Finds the index of a field.
 
- Public Member Functions inherited from OGF::MetaClass
 MetaClass (const std::string &class_name, MetaClass *super_class=nullptr, bool is_abstract=false)
 Constructs a new MetaClass.
 
 MetaClass (const std::string &class_name, const std::string &super_class_name, bool is_abstract=false)
 Constructs a new MetaClass.
 
 ~MetaClass () override
 MetaClass destructor.
 
void pre_delete () override
 Removes all variables that use the meta type system before deleting.
 
const std::string & super_class_name () const
 Gets the name of the super class.
 
bool is_abstract () const
 Tests if the class is abstract.
 
Objectcreate (const ArgList &args)
 Creates an object of this class.
 
size_t nb_members (bool super=true) const
 Gets the number of class members.
 
MetaMemberith_member (index_t i, bool super=true) const
 Gets a MetaMember by index.
 
MetaMemberfind_member (const std::string &member_name, bool super=true) const
 Finds a MetaMember by name.
 
size_t nb_signals (bool super=true) const
 Gets the number of signals.
 
MetaSignalith_signal (index_t i, bool super=true) const
 Gets a MetaSignal by index.
 
size_t nb_slots (bool super=true) const
 Gets the number of slots.
 
MetaSlotith_slot (index_t i, bool super=true) const
 Gets a MetaSlot by index.
 
size_t nb_properties (bool super=true) const
 Gets the number of properties.
 
MetaPropertyith_property (index_t i, bool super=true) const
 Gets a MetaProperty by index.
 
size_t nb_constructors () const
 Gets the number of constructors.
 
MetaConstructorith_constructor (index_t i) const
 Gets a MetaConstructor by index.
 
MetaMethodfind_method (const std::string &method_name, bool super=true) const
 Finds a MetaMethod by name.
 
MetaSlotfind_slot (const std::string &slot_name, bool super=true) const
 Finds a MetaSlot by name.
 
MetaSignalfind_signal (const std::string &signal_name, bool super=true) const
 Finds a MetaSignal by name.
 
MetaPropertyfind_property (const std::string &property_name, bool super=true) const
 Finds a MetaProperty by name.
 
virtual MetaClasscreate_subclass (const std::string &name, bool is_abstract=false)
 Creates a new subclass dynamically.
 
virtual bool is_subclass_of (const MetaClass *other) const
 Tests whether this MetaClass is a subclass of another MetaClass.
 
void set_abstract (bool b)
 Indicate that the class is abstract.
 
void add_member (MetaMember *member)
 Adds a new MetaMember to this class.
 
void get_members (std::vector< MetaMember * > &result, bool super=true) const
 Gets all the members.
 
void get_methods (std::vector< MetaMethod * > &result, bool super=true) const
 Gets all the methods.
 
void get_signals (std::vector< MetaSignal * > &result, bool super=true) const
 Gets all the signals.
 
void get_slots (std::vector< MetaSlot * > &result, bool super=true) const
 Gets all the slots.
 
void get_properties (std::vector< MetaProperty * > &result, bool super=true) const
 Gets all the properties.
 
void get_constructors (std::vector< MetaConstructor * > &result) const
 Gets all the constructors.
 
bool is_subtype_of (const MetaType *other) const override
 
void get_used_types (std::set< std::string > &used_types, bool super=true) const
 Gets all the types used by this class.
 
MetaConstructorbest_constructor (const ArgList &args)
 Gets the best constructors for the specified arguments.
 
Factoryfactory () const
 Gets the factory.
 
void set_factory (Factory *f)
 Sets the factory.
 
void search (const std::string &needle, const std::string &path="") override
 Displays the names of all objects that contain a substring.
 
std::string get_doc () const override
 Gets the documentation.
 
void set_instance (Object *object)
 For singletons, sets instance.
 
- Public Member Functions inherited from OGF::MetaType
 MetaType (const std::string &name)
 MetaType constructor.
 
 ~MetaType () override
 MetaType destructor.
 
const std::string & name () const
 Gets the C++ name of the type.
 
void set_typeid_name (const std::string &typeid_name)
 Sets the typeid name.
 
const std::string & typeid_name () const
 Gets the typeid name.
 
LifeCyclelife_cycle () const
 Gets the LifeCycle associated with the type.
 
void set_life_cycle (LifeCycle *life_cycle)
 Sets the LifeCycle associated with the type.
 
Serializerserializer () const
 Gets the serializer associated with the type.
 
void set_serializer (Serializer *ser)
 Sets the serializer associated with the type.
 
- Public Member Functions inherited from OGF::MetaInformation
void search (const std::string &needle, const std::string &path="") override
 Displays the names of all objects that contain a substring.
 
bool has_custom_attribute (const std::string &name) const
 Tests whether a given custom attribute exists.
 
std::string ith_custom_attribute_name (index_t i) const
 Gets the name of a custom attribute by index.
 
std::string ith_custom_attribute_value (index_t i) const
 Gets the value of a custom attribute by index.
 
std::string custom_attribute_value (const std::string &name) const
 Gets the value of a new custom attribute.
 
void create_custom_attribute (const std::string &name, const std::string &value)
 Creates a new custom attribute.
 
void set_custom_attribute (const std::string &name, const std::string &value)
 Sets the value of a new custom attribute.
 
- Public Member Functions inherited from OGF::Object
 Object (bool transient=false)
 Object constructor.
 
 ~Object () override
 Object destructor.
 
virtual MetaClassmeta_class () const
 Gets the meta class.
 
virtual void set_meta_class (MetaClass *mclass)
 Sets the meta class.
 
Numeric::uint32 id () const
 Gets the identifier of this object.
 
std::string string_id () const
 Gets the unique string identifier.
 
bool has_method (const std::string &method_name) const
 Tests whether a method is defined.
 
virtual bool invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val)
 Invokes a method by method name and argument list, and gets the return value.
 
bool invoke_method (const std::string &method_name, const ArgList &args)
 Invokes a method by method name and argument list.
 
bool invoke_method (const std::string &method_name)
 Invokes a method by method name.
 
bool has_property (const std::string &prop_name) const
 Tests whether a property is defined.
 
virtual bool get_property (const std::string &prop_name, std::string &prop_value) const
 Gets a property.
 
virtual Connectionconnect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name)
 Connects a signal with a slot of another object.
 
virtual void add_connection (Connection *connection)
 Adds a connection to this object.
 
virtual void remove_connection (Connection *connection)
 Removes a connection to this object.
 
virtual void get_element (index_t i, Any &value) const
 Gets an element by index.
 
virtual void set_element (index_t i, const Any &value)
 Sets an element by index.
 
void get_element (index_t item, index_t component, Any &value) const
 Gets an element by item and component.
 
void set_element (index_t item, index_t component, const Any &value)
 Sets an element by item and component.
 
virtual index_t get_dimension () const
 Gets the number of elements per item.
 
bool get_signals_enabled () const
 Tests wheter signals are enabled.
 
void set_signals_enabled (bool value)
 Enables or disables signals.
 
bool get_slots_enabled () const
 Tests wheter slots are enabled.
 
void set_slots_enabled (bool value)
 Enables or disables slots.
 
MetaClassget_meta_class () const
 Gets the meta class.
 
std::string get_string_id () const
 Gets the unique string identifier.
 
virtual Sign compare (const Object *other) const
 Compares this object with another one.
 
virtual bool is_a (const MetaType *type) const
 Tests whether this object inherits a given type.
 
void disconnect ()
 Removes all connections from signals of this objects.
 
void enable_signals ()
 Enables signals.
 
void disable_signals ()
 Disables signals.
 
void enable_slots ()
 Enables slots.
 
void disable_slots ()
 Disables slots.
 
void set_properties (const ArgList &args)
 Sets several properties in a single call.
 
virtual bool set_property (const std::string &name, const std::string &value)
 Sets an individual property.
 
void help () const
 Displays some help about this object.
 
virtual bool set_property (const std::string &name, const Any &value)
 Sets an individual property.
 
virtual bool get_property (const std::string &prop_name, Any &prop_value) const
 Gets a property.
 
- Public Member Functions inherited from GEO::Counted
void ref () const
 Increments the reference count.
 
void unref () const
 Decrements the reference count.
 
bool is_shared () const
 Check if the object is shared.
 
int nb_refs () const
 Gets the number of references that point to this object.
 
- Public Member Functions inherited from OGF::CustomAttributes
size_t nb_custom_attributes () const
 Gets the number of custom attributes.
 
std::string ith_custom_attribute_name (index_t i) const
 Gets the name of a custom attribute by index.
 
std::string ith_custom_attribute_value (index_t i) const
 Gets the value of a custom attribute by index.
 
bool has_custom_attribute (const std::string &name) const
 Tests whether a given custom attribute exists.
 
void create_custom_attribute (const std::string &name, const std::string &value)
 Creates a new custom attribute.
 
void set_custom_attribute (const std::string &name, const std::string &value)
 Sets the value of a new custom attribute.
 
std::string custom_attribute_value (const std::string &name) const
 Gets the value of a new custom attribute.
 
void clear_custom_attributes ()
 Clears the custom attributes.
 

Additional Inherited Members

- Static Public Member Functions inherited from OGF::Object
static Objectid_to_object (unsigned int id)
 Gets an object from a unique object id.
 
- Static Public Member Functions inherited from GEO::Counted
static void ref (const Counted *counted)
 Increments the reference count.
 
static void unref (const Counted *counted)
 Decrements the reference count.
 
- Public Attributes inherited from OGF::MetaClass
 : MetaClass* super_class() const
 
 : Object* get_instance() const
 
- Public Attributes inherited from OGF::MetaType
 : virtual bool is_subtype_of(const MetaType* other) const
 
 : const std::string& get_name() const { return name()
 
- Public Attributes inherited from OGF::MetaInformation
 : size_t nb_custom_attributes() const
 
- Public Attributes inherited from OGF::Object
 : virtual index_t get_nb_elements() const
 
 : bool equals(const Object* other) const
 
- Static Public Attributes inherited from OGF::Object
static constexpr Numeric::uint32 INVALID_ID = 0xbadbeef
 
- Protected Member Functions inherited from OGF::MetaClass
std::string new_constructor_name () const
 Generates a dummy name for a constructor.
 
void append_members (std::vector< MetaMember * > &result, bool super=true) const
 Gets all the members and appends them to a vector.
 
void append_methods (std::vector< MetaMethod * > &result, bool super=true) const
 Gets all the methods and appends them to a vector.
 
void append_signals (std::vector< MetaSignal * > &result, bool super=true) const
 Gets all the signals and appends them to a vector.
 
void append_slots (std::vector< MetaSlot * > &result, bool super=true) const
 Gets all the slots and appends them to a vector.
 
void append_properties (std::vector< MetaProperty * > &result, bool super=true) const
 Gets all the properties.
 
- Protected Member Functions inherited from OGF::Object
virtual bool set_property_and_record_to_history (const std::string &name, const Any &value, Interpreter *interpreter)
 Sets an individual property and record modification to history.
 
virtual bool emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=false)
 Emits a signal and calls the slots it is connected to.
 
- Protected Member Functions inherited from GEO::Counted
 Counted ()
 Creates a reference counted object.
 
virtual ~Counted ()
 Destroys a reference counted object.
 

Detailed Description

MetaType for GOM struct objects, such as StructPropertyRef.

Definition at line 52 of file meta_struct.h.

Constructor & Destructor Documentation

◆ MetaStruct()

OGF::MetaStruct::MetaStruct ( const std::string &  struct_name)

Constructs a new MetaStruct.

Parameters
[in]struct_namethe C++ struct name

Member Function Documentation

◆ field_index()

index_t OGF::MetaStruct::field_index ( const MetaProperty mprop) const

Finds the index of a field.

Parameters
[in]mpropthe MetaProperty corresponding to the field
Returns
0 for the first field, 1 for the second field etc... or NO_INDEX if there is no such a field

◆ offset()

size_t OGF::MetaStruct::offset ( const MetaProperty mprop) const

Finds the offset of a field.

Parameters
[in]mpropthe MetaProperty corresponding to the field
Returns
the offset in memory of the field from the beginning of the struct

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