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

A Composite Graphite Object. More...

#include <OGF/scene_graph/grob/composite_grob.h>

Inheritance diagram for OGF::CompositeGrob:
OGF::Grob OGF::Node OGF::Object GEO::Counted OGF::SceneGraph

Public Member Functions

 CompositeGrob (CompositeGrob *parent)
 CompositeGrob constructor.
 
Grob * resolve (const std::string &name) const
 Finds a child by name.
 
Grob * ith_child (index_t i) const
 Gets a child by index.
 
void add_child (Node *child) override
 Adds a child to this Grob.
 
void remove_child (Node *child) override
 Removes a child from this Grob.
 
Box3d bbox () const override
 Gets the bounding box.
 
Box3d world_bbox () const override
 Gets the bounding box in world coordinates.
 
- Public Member Functions inherited from OGF::Grob
 Grob (CompositeGrob *parent)
 Grob constructor.
 
 Grob ()
 Grob constructor.
 
 ~Grob () override
 Grob destructor.
 
const std::string & name () const
 Gets the name of this Grob.
 
virtual bool is_serializable () const
 Tests whether this Grob can be serialized in GeoFile.
 
virtual bool serialize_read (InputGraphiteFile &geofile)
 Reads this Grob from a GeoFile.
 
virtual bool serialize_write (OutputGraphiteFile &geofile)
 Writes this Grob into a stream.
 
void set_shader (const std::string &value)
 Changes the current shader of this Grob.
 
void get_shader_and_shader_properties (std::string &classname, ArgList &properties, bool pointers=true)
 Gets the classname of the shader and its properties.
 
void set_shader_and_shader_properties (const std::string &classname, const ArgList &properties)
 Sets the shader and its properties.
 
ArgList & attributes ()
 Gets the attributes associated with this Grob.
 
const ArgList & attributes () const
 Gets the attributes associated with this Grob.
 
bool dirty () const
 Gets the dirty flag.
 
void up_to_date ()
 Tests whether this object is up to date.
 
bool graphics_are_locked () const
 Tests whether this VoxelGrob is locked for graphics display.
 
void lock_graphics ()
 Locks graphics for this VoxelGrob.
 
void unlock_graphics ()
 Unlocks graphics for this VoxelGrob.
 
virtual Interpreter * interpreter ()
 Gets a pointer to the main Interpreter.
 
virtual void redraw ()
 Triggers update events and redraws the scene.
 
SceneGraph * scene_graph () const
 Gets the SceneGraph.
 
virtual bool load (const FileName &filename)
 Replaces this Grob with the contents of a file.
 
virtual bool save (const NewFileName &filename)
 Saves this Grob to a file.
 
virtual bool append (const FileName &filename)
 Appends the content of the specified file to this Grob.
 
virtual void clear ()
 Clears this Grob.
 
virtual void rename (const std::string &value)
 Renames this Grob.
 
virtual Grob * duplicate (SceneGraph *sg)
 Duplicates this Grob.
 
virtual Object * query_interface (const std::string &name)
 Creates an Interface object connected to this Grob.
 
index_t nb_grob_attributes () const
 gets the number of grob attributes
 
const std::string & ith_grob_attribute_name (index_t i) const
 gets the name of a grob attribute
 
std::string ith_grob_attribute_value (index_t i) const
 gets the value of a grob attribute
 
void set_grob_attribute (const std::string &name, const std::string &value)
 sets the value of a grob attribute
 
void set_filename (const std::string &value)
 Sets the name of this Grob.
 
const std::string & get_filename () const
 Gets the filename of this Grob.
 
bool get_visible () const
 Tests whether this Grob is visible.
 
void set_visible (bool value)
 Sets the visibility flag of this Grob.
 
bool get_selected () const
 Tests whether this Grob is selected.
 
void set_selected (bool value)
 Sets the selection flag of this Grob.
 
Object * get_shader () const
 Gets the shader associated with this Grob.
 
Object * get_shader_manager () const
 Gets the ShaderManager associated with this Grob.
 
void set_obj_to_world_transform (const mat4 &value)
 Sets the object to world transform.
 
const mat4 & get_obj_to_world_transform () const
 Gets the object to world transform.
 
- Public Member Functions inherited from OGF::Node
 Node (Node *parent=nullptr)
 Node constructor.
 
 ~Node () override
 Node destructor.
 
Node * get_parent () const
 Gets the parent.
 
- Public Member Functions inherited from OGF::Object
 Object (bool transient=false)
 Object constructor.
 
 ~Object () override
 Object destructor.
 
virtual MetaClass * meta_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 Connection * connect_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 void search (const std::string &needle, const std::string &path="")
 Displays the names of all objects that contain a substring.
 
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.
 
MetaClass * get_meta_class () const
 Gets the meta class.
 
std::string get_string_id () const
 Gets the unique string identifier.
 
virtual std::string get_doc () const
 Gets the documentation.
 
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 Attributes

 : Scope* get_objects() const { return new CompositeGrobScope(const_cast<CompositeGrob*>(this))
 
 : bool is_bound(const std::string& name) const
 
- Public Attributes inherited from OGF::Grob
 : virtual void update()
 
gom_signals : virtual void value_changed(Grob* value)
 
 : const std::string& get_name() const { return name_
 
- Public Attributes inherited from OGF::Node
 : Node* ith_child(index_t i) const { ogf_assert(i < get_nb_children())
 
return children_ [i]
 
 : size_t get_nb_children() const { return children_.size()
 
- Public Attributes inherited from OGF::Object
 : virtual index_t get_nb_elements() const
 
 : bool equals(const Object* other) const
 

Additional Inherited Members

- Static Public Member Functions inherited from OGF::Grob
static Grob * find (SceneGraph *sg, const std::string &name)
 Finds a Grob by name.
 
- Static Public Member Functions inherited from OGF::Object
static Object * id_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.
 
- Static Public Attributes inherited from OGF::Object
static constexpr Numeric::uint32 INVALID_ID = 0xbadbeef
 
- Protected Member Functions inherited from OGF::Grob
void initialize_name (const std::string &name)
 Initializes the name of this Grob.
 
void set_shader_manager (Object *s)
 Sets the ShaderManager associated with this Grob.
 
- Protected Member Functions inherited from OGF::Node
void swap_children (Node *n1, Node *n2)
 Swaps two children.
 
void move_child_to_top (Node *n)
 Makes a child the first element in the list.
 
void move_child_to_bottom (Node *n)
 Makes a child the last element in the list.
 
void set_ith_child (index_t i, Node *n)
 Replaces a child.
 
- 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.
 
- Protected Attributes inherited from OGF::Grob
std::string name_
 
std::string filename_
 
bool visible_
 
bool selected_
 
SceneGraph * scene_graph_
 
mat4 obj_to_world_
 
Object_var shader_manager_
 
ArgList grob_attributes_
 
bool dirty_
 
index_t nb_graphics_locks_
 

Detailed Description

A Composite Graphite Object.

Each children has a unique name. Functionalities are provided to retreive a child given its name or given its index.

Definition at line 93 of file composite_grob.h.

Constructor & Destructor Documentation

◆ CompositeGrob()

OGF::CompositeGrob::CompositeGrob ( CompositeGrob *  parent)

CompositeGrob constructor.

Parameters
[in]parenta pointer to the parent, or nil if there is no parent

Member Function Documentation

◆ add_child()

void OGF::CompositeGrob::add_child ( Node *  child)
overridevirtual

Adds a child to this Grob.

Parameters
[in]childa pointer to the child to be added
Precondition
child class is a subclass of Grob

Reimplemented from OGF::Node.

◆ bbox()

Box3d OGF::CompositeGrob::bbox ( ) const
overridevirtual

Gets the bounding box.

Returns
the bounding box

Implements OGF::Grob.

◆ ith_child()

Grob * OGF::CompositeGrob::ith_child ( index_t  i) const

Gets a child by index.

Parameters
[in]iindex of the child
Returns
a pointer to the ith child
Precondition
i < get_nb_children()

◆ remove_child()

void OGF::CompositeGrob::remove_child ( Node *  child)
overridevirtual

Removes a child from this Grob.

Parameters
[in]childa pointer to the child to be removed

Reimplemented from OGF::Node.

◆ resolve()

Grob * OGF::CompositeGrob::resolve ( const std::string &  name) const

Finds a child by name.

Parameters
[in]namethe name
Precondition
is_bound(name)

◆ world_bbox()

Box3d OGF::CompositeGrob::world_bbox ( ) const
overridevirtual

Gets the bounding box in world coordinates.

Returns
the bounding box in world coordinates \TODO some explanations are missing there

Reimplemented from OGF::Grob.

Member Data Documentation

◆ __pad0__

OGF::CompositeGrob::__pad0__

Definition at line 101 of file composite_grob.h.

◆ __pad1__

OGF::CompositeGrob::__pad1__

Definition at line 101 of file composite_grob.h.


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