Graphite  Version 3
An experimental 3D geometry processing program
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. More...
 
Grobresolve (const std::string &name) const
 Finds a child by name. More...
 
Grobith_child (index_t i) const
 Gets a child by index. More...
 
void add_child (Node *child) override
 Adds a child to this Grob. More...
 
void remove_child (Node *child) override
 Removes a child from this Grob. More...
 
Box3d bbox () const override
 Gets the bounding box. More...
 
Box3d world_bbox () const override
 Gets the bounding box in world coordinates. More...
 
- Public Member Functions inherited from OGF::Grob
 Grob (CompositeGrob *parent)
 Grob constructor. More...
 
 ~Grob () override
 Grob destructor.
 
const std::string & name () const
 Gets the name of this Grob. More...
 
virtual bool is_serializable () const
 Tests whether this Grob can be serialized in GeoFile. More...
 
virtual bool serialize_read (InputGraphiteFile &geofile)
 Reads this Grob from a GeoFile. More...
 
virtual bool serialize_write (OutputGraphiteFile &geofile)
 Writes this Grob into a stream. More...
 
void set_shader (const std::string &value)
 Changes the current shader of this Grob. More...
 
void get_shader_and_shader_properties (std::string &classname, ArgList &properties, bool pointers=true)
 Gets the classname of the shader and its properties. More...
 
void set_shader_and_shader_properties (const std::string &classname, const ArgList &properties)
 Sets the shader and its properties. More...
 
ArgListattributes ()
 Gets the attributes associated with this Grob. More...
 
const ArgListattributes () const
 Gets the attributes associated with this Grob. More...
 
bool dirty () const
 Gets the dirty flag. More...
 
void up_to_date ()
 Tests whether this object is up to date. More...
 
bool graphics_are_locked () const
 Tests whether this VoxelGrob is locked for graphics display. More...
 
void lock_graphics ()
 Locks graphics for this VoxelGrob. More...
 
void unlock_graphics ()
 Unlocks graphics for this VoxelGrob. More...
 
virtual Interpreterinterpreter ()
 Gets a pointer to the main Interpreter. More...
 
virtual void redraw ()
 Triggers update events and redraws the scene. More...
 
SceneGraphscene_graph () const
 Gets the SceneGraph. More...
 
virtual bool load (const FileName &value)
 Replaces this Grob with the contents of a file. More...
 
virtual bool save (const NewFileName &value)
 Saves this Grob to a file. More...
 
virtual bool append (const FileName &value)
 Appends the content of the specified file to this Grob. More...
 
virtual void clear ()
 Clears this Grob.
 
virtual void rename (const std::string &value)
 Renames this Grob. More...
 
virtual Grobduplicate (SceneGraph *sg)
 Duplicates this Grob. More...
 
virtual Objectquery_interface (const std::string &name)
 Creates an Interface object connected to this Grob. More...
 
index_t nb_grob_attributes () const
 gets the number of grob attributes More...
 
const std::string & ith_grob_attribute_name (index_t i) const
 gets the name of a grob attribute More...
 
std::string ith_grob_attribute_value (index_t i) const
 gets the value of a grob attribute More...
 
void set_grob_attribute (const std::string &name, const std::string &value)
 sets the value of a grob attribute More...
 
void set_filename (const std::string &value)
 Sets the name of this Grob. More...
 
const std::string & get_filename () const
 Gets the filename of this Grob. More...
 
bool get_visible () const
 Tests whether this Grob is visible. More...
 
void set_visible (bool value)
 Sets the visibility flag of this Grob. More...
 
Objectget_shader () const
 Gets the shader associated with this Grob. More...
 
Objectget_shader_manager () const
 Gets the ShaderManager associated with this Grob. More...
 
void set_obj_to_world_transform (const mat4 &value)
 Sets the object to world transform. More...
 
const mat4get_obj_to_world_transform () const
 Gets the object to world transform. More...
 
- Public Member Functions inherited from OGF::Node
 Node (Node *parent=nullptr)
 Node constructor. More...
 
virtual ~Node ()
 Node destructor.
 
Nodeget_parent () const
 Gets the parent. More...
 
- Public Member Functions inherited from OGF::Object
 Object (bool transient=false)
 Object constructor. More...
 
virtual ~Object ()
 Object destructor.
 
virtual MetaClassmeta_class () const
 Gets the meta class. More...
 
virtual void set_meta_class (MetaClass *mclass)
 Sets the meta class. More...
 
unsigned int id () const
 Gets the identifier of this object. More...
 
std::string string_id () const
 Gets the unique string identifier. More...
 
bool has_method (const std::string &method_name) const
 Tests whether a method is defined. More...
 
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. More...
 
bool invoke_method (const std::string &method_name, const ArgList &args)
 Invokes a method by method name and argument list. More...
 
bool invoke_method (const std::string &method_name)
 Invokes a method by method name. More...
 
bool has_property (const std::string &prop_name) const
 Tests whether a property is defined. More...
 
virtual bool get_property (const std::string &prop_name, std::string &prop_value) const
 Gets a property. More...
 
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. More...
 
virtual void add_connection (Connection *connection)
 Adds a connection to this object. More...
 
virtual void remove_connection (Connection *connection)
 Removes a connection to this object. More...
 
virtual void get_element (index_t i, Any &value) const
 Gets an element by index. More...
 
virtual void set_element (index_t i, const Any &value)
 Sets an element by index. More...
 
virtual void search (const std::string &needle, const std::string &path="")
 Displays the names of all objects that contain a substring. More...
 
bool get_signals_enabled () const
 Tests wheter signals are enabled. More...
 
void set_signals_enabled (bool value)
 Enables or disables signals. More...
 
bool get_slots_enabled () const
 Tests wheter slots are enabled. More...
 
void set_slots_enabled (bool value)
 Enables or disables slots. More...
 
MetaClassget_meta_class () const
 Gets the meta class. More...
 
std::string get_string_id () const
 Gets the unique string identifier. More...
 
virtual std::string get_doc () const
 Gets the documentation. More...
 
virtual Sign compare (const Object *other) const
 Compares this object with another one. More...
 
virtual bool is_a (const MetaType *type) const
 Tests whether this object inherits a given type. More...
 
void disconnect ()
 Removes all connections from signals of this objects. More...
 
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. More...
 
virtual bool set_property (const std::string &name, const std::string &value)
 Sets an individual property. More...
 
void help () const
 Displays some help about this object. More...
 
virtual bool set_property (const std::string &name, const Any &value)
 Sets an individual property. More...
 
virtual bool get_property (const std::string &prop_name, Any &prop_value) const
 Gets a property. More...
 
- Public Member Functions inherited from GEO::Counted
void ref () const
 Increments the reference count. More...
 
void unref () const
 Decrements the reference count. More...
 
bool is_shared () const
 Check if the object is shared. More...
 
int nb_refs () const
 Gets the number of references that point to this object. More...
 

Public Attributes

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

Additional Inherited Members

- Static Public Member Functions inherited from OGF::Grob
static Grobfind (SceneGraph *sg, const std::string &name)
 Finds a Grob by name. More...
 
- Static Public Member Functions inherited from OGF::Object
static Objectid_to_object (unsigned int id)
 Gets an object from a unique object id. More...
 
- Static Public Member Functions inherited from GEO::Counted
static void ref (const Counted *counted)
 Increments the reference count. More...
 
static void unref (const Counted *counted)
 Decrements the reference count. More...
 
- Protected Member Functions inherited from OGF::Grob
void initialize_name (const std::string &name)
 Initializes the name of this Grob. More...
 
void set_shader_manager (Object *s)
 Sets the ShaderManager associated with this Grob. More...
 
- Protected Member Functions inherited from OGF::Node
void swap_children (Node *n1, Node *n2)
 Swaps two children by indices. More...
 
- Protected Member Functions inherited from OGF::Object
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. More...
 
- Protected Member Functions inherited from GEO::Counted
 Counted ()
 Creates a reference counted object. More...
 
virtual ~Counted ()
 Destroys a reference counted object. More...
 
- Protected Attributes inherited from OGF::Grob
std::string name_
 
std::string filename_
 
bool visible_
 
SceneGraphscene_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.


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