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

Represents the list of objects loaded in Graphite. More...

#include <OGF/scene_graph/types/scene_graph.h>

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

Public Member Functions

 SceneGraph (Interpreter *interpreter=nullptr, bool transfer_ownership_to_scenegraph_library=false)
 SceneGraph constructor.
 
 ~SceneGraph () override
 SceneGraph destructor.
 
void set_current (const GrobName &grob)
 Sets the current object.
 
void delete_object (const GrobName &grob)
 Removes an object from this SceneGraph and deletes it.
 
void delete_current ()
 Removes the current object from this SceneGraph and deletes it.
 
void delete_selected ()
 Removes and deletes all the selected objects in this SceneGraph.
 
void delete_all ()
 Deletes and removes all the objects in this SceneGraph.
 
void move_object_up (const GrobName &grob)
 Moves an object up in the SceneGraph.
 
void move_object_down (const GrobName &grob)
 Moves an object down in the SceneGraph.
 
void move_object_to_top (const GrobName &grob)
 Makes an object the first in the list.
 
void move_object_to_bottom (const GrobName &grob)
 Makes an object the last in the list.
 
void move_selection_up ()
 Reorganizes the object list in such a way that all selected objects move one position up.
 
void move_selection_down ()
 Reorganizes the object list in such a way that all selected objects move one position down.
 
void move_selection_to_top ()
 Reorganizes the object list in such a way that all selected objects appear first.
 
void move_selection_to_bottom ()
 Reorganizes the object list in such a way that all selected objects appear last.
 
void rename_object (const GrobName &grob, const std::string &new_name)
 Renames an object.
 
Grob * duplicate_object (const GrobName &grob)
 Duplicates an object object.
 
void clear () override
 Clears this SceneGraph.
 
void delete_current_object ()
 Deletes the current object.
 
Grob * duplicate_current ()
 Duplicates the current object.
 
void move_current_up ()
 Swaps the current object with the previous one.
 
void move_current_down ()
 Swaps the current object with the next one.
 
void move_current_to_top ()
 Makes the current object the first of the list.
 
void move_current_to_bottom ()
 Makes the current object the last of the list.
 
Grob * load_object (const FileName &filename, const std::string &type="default", bool change_cwd=false)
 Loads an object from a file, and stores it in this SceneGraph.
 
void load_objects (const std::string &filenames, const std::string &type="default", bool change_cwd=false)
 Loads objects from a list of files, and stores them in this SceneGraph.
 
bool save_current_object (const NewFileName &filename)
 Saves the current object to a file.
 
bool save_viewer_properties (const std::string &filename)
 Saves viewer properties to a file.
 
Grob * create_object (const GrobClassName &classname="OGF::MeshGrob", const std::string &name="new_object")
 Creates an object.
 
Grob * create_mesh (const std::string &name="")
 Creates a mesh.
 
Grob * find_or_create_object (const GrobClassName &classname, const std::string &name)
 Creates a new object or retreives an existing one.
 
void register_grob_commands (MetaClass *grob_class, MetaClass *commands_class)
 Associates a Commands class to a Grob class.
 
const GrobName & get_current_object () const
 Gets the name of the current object.
 
std::string get_values () const
 Gets the names of all the objects in this SceneGraph.
 
void set_render_area (Object *rdra)
 Sets the render area.
 
Object * get_render_area () const
 Gets the render area.
 
void set_application (Object *app)
 Sets the application.
 
Object * get_application () const
 Gets the application.
 
void set_scene_graph_shader_manager (Object *sgshdmgr)
 sets the scene graph shader manager.
 
Object * get_scene_graph_shader_manager () const
 gets the scene graph shader manager.
 
void update () override
 Triggers the value_changed() signal.
 
void update_values ()
 Triggers the values_changed(), visibilities_changed(), types_changed() and value_changed() signals.
 
bool is_serializable () const override
 Tests whether this Grob can be serialized in GeoFile.
 
bool serialize_read (InputGraphiteFile &in) override
 Reads this Grob from a GeoFile.
 
bool serialize_write (OutputGraphiteFile &out) override
 Writes this Grob into a stream.
 
Interpreter * interpreter () override
 Gets a pointer to the main Interpreter.
 
void value_changed (Grob *value) override
 a signal that is triggered whenever this SceneGraph changes.
 
virtual void current_object_changed (const std::string &value)
 a signal that is triggered whenever the current object changes.
 
bool invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val) override
 Invokes a method by method name and argument list, and gets the return value.
 
- Public Member Functions inherited from OGF::CompositeGrob
 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.
 
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 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 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.
 
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

 : Grob* current()
 
 : void set_current_object(const GrobName& value)
 
gom_signals : virtual void values_changed(const std::string& value)
 
- Public Attributes inherited from OGF::CompositeGrob
 : 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
 

Protected Member Functions

void begin_graphite_file (OutputGraphiteFile &out, bool all_scene)
 Writes the preamble of a gsg file to a stream.
 
void end_graphite_file (OutputGraphiteFile &out)
 Writes the trailer of a gsg file.
 
void serialize_grob_write (Grob *grob, OutputGraphiteFile &out)
 Writes an object to a geogram file.
 
Grob * serialize_grob_read (InputGraphiteFile &in)
 Reads an object from a geogram file.
 
void get_grob_shader (Grob *grob, std::string &classname, ArgList &properties)
 
void set_grob_shader (Grob *grob, const std::string &classname, const ArgList &properties)
 
void copy_property_to_arglist (const std::string &obj_prop_name, ArgList &args)
 Copies an objet property to an arglist.
 
void copy_arglist_to_properties (const ArgList &args)
 Copies all the object properties previously recorded by copy_property_to_arglist() from an ArgList to the gom objects.
 
- 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.
 

Static Protected Member Functions

static bool load_aln (const std::string &filename, SceneGraph *sg)
 Loads alignment data for pointsets.
 

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 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

Represents the list of objects loaded in Graphite.

A SceneGraph stores a list of Grob and manages the associated events. It has a current object, that is the target of commands invocation.

Definition at line 62 of file scene_graph.h.

Constructor & Destructor Documentation

◆ SceneGraph()

OGF::SceneGraph::SceneGraph ( Interpreter *  interpreter = nullptr,
bool  transfer_ownership_to_scenegraph_library = false 
)

SceneGraph constructor.

Parameters
[in]interpretera pointer to the main interpreter, or nullptr. If interpreter is set to nullptr, then the default interpreter is used.

Member Function Documentation

◆ begin_graphite_file()

void OGF::SceneGraph::begin_graphite_file ( OutputGraphiteFile &  out,
bool  all_scene 
)
protected

Writes the preamble of a gsg file to a stream.

Parameters
[in,out]outthe stream
[in]all_sceneif true, the gsg file is meant to record the whole scene, else it is for a single object

◆ clear()

void OGF::SceneGraph::clear ( )
overridevirtual

Clears this SceneGraph.

Deletes all the objects of this SceneGraph.

Reimplemented from OGF::Grob.

◆ copy_arglist_to_properties()

void OGF::SceneGraph::copy_arglist_to_properties ( const ArgList &  args)
protected

Copies all the object properties previously recorded by copy_property_to_arglist() from an ArgList to the gom objects.

Parameters
[in]argsan ArgList, with recorded object properties, with names "objectid.propname", where objectid is the name of a gom object and propname a name of a property of the object. Args with names that do not match this pattern are ignored.

◆ copy_property_to_arglist()

void OGF::SceneGraph::copy_property_to_arglist ( const std::string &  obj_prop_name,
ArgList &  args 
)
protected

Copies an objet property to an arglist.

Parameters
[in]obj_prop_namea string in the form "objectid.propname", where objectid is the name of a gom object and propname a name of a property of the object.
[in,out]argsthe ArgList where the value of the property should be copied. Its name will be "objectid.propname".

◆ create_mesh()

Grob * OGF::SceneGraph::create_mesh ( const std::string &  name = "")
inline

Creates a mesh.

Parameters
[in]namethe name of the mesh in the SceneGraph. If no name is specified, then the created object will be given a default name.
Returns
a pointer to the created mesh

Definition at line 307 of file scene_graph.h.

◆ create_object()

Grob * OGF::SceneGraph::create_object ( const GrobClassName &  classname = "OGF::MeshGrob",
const std::string &  name = "new_object" 
)

Creates an object.

Parameters
[in]classnamethe class name of the object to create, as a string, with the "OGF::" prefix
[in]namethe name of the object in the SceneGraph. If no name is specified, then the created object will be given a default name.
Returns
a pointer to the created object

◆ current_object_changed()

virtual void OGF::SceneGraph::current_object_changed ( const std::string &  value)
virtual

a signal that is triggered whenever the current object changes.

Parameters
[in]valuethe name of the new current object

◆ delete_object()

void OGF::SceneGraph::delete_object ( const GrobName &  grob)

Removes an object from this SceneGraph and deletes it.

Parameters
[in]grobthe object to be deleted or its name

◆ duplicate_current()

Grob * OGF::SceneGraph::duplicate_current ( )

Duplicates the current object.

The name of the created object will be the same as current object name with "_copy" appended.

Returns
the created object or nullptr if there was no current object.

◆ duplicate_object()

Grob * OGF::SceneGraph::duplicate_object ( const GrobName &  grob)

Duplicates an object object.

The name of the created object will be the same as current object name with "_copy" appended.

Parameters
[in]grobthe grob to be copied or its name
Returns
the created object or nullptr if there was no current object.

◆ end_graphite_file()

void OGF::SceneGraph::end_graphite_file ( OutputGraphiteFile &  out)
protected

Writes the trailer of a gsg file.

Parameters
[in,out]outthe stream

◆ find_or_create_object()

Grob * OGF::SceneGraph::find_or_create_object ( const GrobClassName &  classname,
const std::string &  name 
)

Creates a new object or retreives an existing one.

Parameters
[in]classnamethe class name of the object to create, as a string, with the "OGF::" prefix.
[in]namethe name of the object
Returns
a pointer to the newly created or already existing object, or nullptr if there was already an object with the same name but with a different classname.

◆ get_application()

Object * OGF::SceneGraph::get_application ( ) const
inline

Gets the application.

Returns
a pointer to the application, or nullptr if no application was specified.

Definition at line 386 of file scene_graph.h.

◆ get_current_object()

const GrobName & OGF::SceneGraph::get_current_object ( ) const

Gets the name of the current object.

Returns
the name of the current object NOTE: deprecated, use current()->Grob* instead

◆ get_render_area()

Object * OGF::SceneGraph::get_render_area ( ) const
inline

Gets the render area.

Returns
a pointer to the render area, or nullptr if no render area was specified.

Definition at line 369 of file scene_graph.h.

◆ get_scene_graph_shader_manager()

Object * OGF::SceneGraph::get_scene_graph_shader_manager ( ) const

gets the scene graph shader manager.

Returns
a pointer to the scene graph shader manager or nullptr if none was specified.

◆ get_values()

std::string OGF::SceneGraph::get_values ( ) const

Gets the names of all the objects in this SceneGraph.

Returns
the ';'-separated list of object names

◆ interpreter()

Interpreter * OGF::SceneGraph::interpreter ( )
overridevirtual

Gets a pointer to the main Interpreter.

Returns
a pointer to the main Interpreter.

Reimplemented from OGF::Grob.

◆ invoke_method()

bool OGF::SceneGraph::invoke_method ( const std::string &  method_name,
const ArgList &  args,
Any &  ret_val 
)
overridevirtual

Invokes a method by method name and argument list, and gets the return value.

Parameters
[in]method_namename of the method
[in]argsa const reference to the ArgList
[out]ret_valthe return value as an Any
Return values
trueif the method could be sucessfully invoked
falseotherwise

Overload of the invokation mechanism, that adds history recording.

Reimplemented from OGF::Object.

◆ is_serializable()

bool OGF::SceneGraph::is_serializable ( ) const
overridevirtual

Tests whether this Grob can be serialized in GeoFile.

Return values
trueif this Grob is serializable
falseotherwise
See also
serialize_read(), serialize_write()

Reimplemented from OGF::Grob.

◆ load_aln()

static bool OGF::SceneGraph::load_aln ( const std::string &  filename,
SceneGraph *  sg 
)
staticprotected

Loads alignment data for pointsets.

The loaded transform are stored in the object to world transforms of all objects.

Parameters
[in]filenamename of the alignment data file
[in]sga pointer to the SceneGraph
Return values
trueif alignment data could be read
falseotherwise
See also
Grob::set_obj_to_world_transform(), Grob::get_obj_to_world_transform()

◆ load_object()

Grob * OGF::SceneGraph::load_object ( const FileName &  filename,
const std::string &  type = "default",
bool  change_cwd = false 
)

Loads an object from a file, and stores it in this SceneGraph.

Parameters
[in]typethe class name that should be used to create the object, or "default" (then it is deduced from the file extension)
[in]change_cwdset if set, change current working directory to the directory that contains the file
Returns
a pointer to the loaded object, or nullptr if no object could be loaded

◆ load_objects()

void OGF::SceneGraph::load_objects ( const std::string &  filenames,
const std::string &  type = "default",
bool  change_cwd = false 
)

Loads objects from a list of files, and stores them in this SceneGraph.

Parameters
[in]filenamesthe list of file names, separated with ';'
[in]typethe class name that should be used to create the objects, or "default" (then it is deduced from the file extensions)
[in]change_cwdif set, change current working directory to the directory that contains the file

◆ move_current_down()

void OGF::SceneGraph::move_current_down ( )

Swaps the current object with the next one.

Does nothing if there is no current object or if current object is the last one

◆ move_current_up()

void OGF::SceneGraph::move_current_up ( )

Swaps the current object with the previous one.

Does nothing if there is no current object or if current object is the first one

◆ move_object_down()

void OGF::SceneGraph::move_object_down ( const GrobName &  grob)

Moves an object down in the SceneGraph.

Parameters
[in]grobthe object to be moved down or its name

◆ move_object_to_bottom()

void OGF::SceneGraph::move_object_to_bottom ( const GrobName &  grob)

Makes an object the last in the list.

Parameters
[in]grobthe object to be moved down or its name

◆ move_object_to_top()

void OGF::SceneGraph::move_object_to_top ( const GrobName &  grob)

Makes an object the first in the list.

Parameters
[in]grobthe object to be moved up or its name

◆ move_object_up()

void OGF::SceneGraph::move_object_up ( const GrobName &  grob)

Moves an object up in the SceneGraph.

Parameters
[in]grobthe object to be moved up or its name

◆ register_grob_commands()

void OGF::SceneGraph::register_grob_commands ( MetaClass *  grob_class,
MetaClass *  commands_class 
)

Associates a Commands class to a Grob class.

It is used with Commands class created in a script.

Parameters
[in]grob_classthe MetaClass of the grob
[in]commands_classthe MetaClass of the commands

◆ rename_object()

void OGF::SceneGraph::rename_object ( const GrobName &  grob,
const std::string &  new_name 
)

Renames an object.

Parameters
[in]grobthe object to be renamed or its name
[in]new_namethe desired new name for the object

◆ save_current_object()

bool OGF::SceneGraph::save_current_object ( const NewFileName &  filename)

Saves the current object to a file.

Parameters
[in]filenamewhere to save the obect
Return values
trueif viewer properties could be successfully saved to the file.
falseotherwise.

◆ save_viewer_properties()

bool OGF::SceneGraph::save_viewer_properties ( const std::string &  filename)

Saves viewer properties to a file.

This saves current viewpoint, clipping and background color to a .graphite file.

Parameters
[in]filenamea file name with the .graphite extension
Return values
trueif viewer properties could be successfully saved to the file.
falseotherwise.

◆ serialize_grob_read()

Grob * OGF::SceneGraph::serialize_grob_read ( InputGraphiteFile &  in)
protected

Reads an object from a geogram file.

Parameters
[in,out]inthe stream
Returns
a pointer to the read object

◆ serialize_grob_write()

void OGF::SceneGraph::serialize_grob_write ( Grob *  grob,
OutputGraphiteFile &  out 
)
protected

Writes an object to a geogram file.

Parameters
[in]groba pointer to the object
[in,out]outthe stream where the object should be written

◆ serialize_read()

bool OGF::SceneGraph::serialize_read ( InputGraphiteFile &  in)
overridevirtual

Reads this Grob from a GeoFile.

Parameters
[in,out]geofilethe input GeoFile
Return values
trueif the Grob could be successfully read
falseotherwise
See also
is_serializable()

Reimplemented from OGF::Grob.

◆ serialize_write()

bool OGF::SceneGraph::serialize_write ( OutputGraphiteFile &  out)
overridevirtual

Writes this Grob into a stream.

Parameters
[in,out]geofilethe output GeoFile The file extension determines the file format used to write the object.
Return values
trueif the Grob could be successfully written
falseotherwise
See also
is_serializable()

Reimplemented from OGF::Grob.

◆ set_application()

void OGF::SceneGraph::set_application ( Object *  app)
inline

Sets the application.

Parameters
[in]appa pointer to the application.

Definition at line 377 of file scene_graph.h.

◆ set_current()

void OGF::SceneGraph::set_current ( const GrobName &  grob)

Sets the current object.

Parameters
grobthe object to be set as current or its name.

◆ set_render_area()

void OGF::SceneGraph::set_render_area ( Object *  rdra)
inline

Sets the render area.

Parameters
[in]rdraa pointer to the render area.

Definition at line 360 of file scene_graph.h.

◆ set_scene_graph_shader_manager()

void OGF::SceneGraph::set_scene_graph_shader_manager ( Object *  sgshdmgr)

sets the scene graph shader manager.

Parameters
[in]sgshdmgra pointer to the scene graph shader manager.

◆ value_changed()

void OGF::SceneGraph::value_changed ( Grob *  value)
override

a signal that is triggered whenever this SceneGraph changes.

Parameters
[in]valuea pointer to this SceneGraph

Member Data Documentation

◆ __pad0__

OGF::SceneGraph::__pad0__

Definition at line 79 of file scene_graph.h.

◆ __pad1__

OGF::SceneGraph::__pad1__

Definition at line 331 of file scene_graph.h.

◆ __pad2__

gom_signals OGF::SceneGraph::__pad2__

Definition at line 437 of file scene_graph.h.


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