Graphite  Version 3
An experimental 3D geometry processing program
scene_graph_commands.h
Go to the documentation of this file.
1 /*
2  * OGF/Graphite: Geometry and Graphics Programming Library + Utilities
3  * Copyright (C) 2000 Bruno Levy
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  *
19  * If you modify this software, you should include a notice giving the
20  * name of the person performing the modification, the date of modification,
21  * and the reason for such modification.
22  *
23  * Contact: Bruno Levy
24  *
25  * levy@loria.fr
26  *
27  * ISA Project
28  * LORIA, INRIA Lorraine,
29  * Campus Scientifique, BP 239
30  * 54506 VANDOEUVRE LES NANCY CEDEX
31  * FRANCE
32  *
33  * Note that the GNU General Public License does not permit incorporating
34  * the Software into proprietary programs.
35  */
36 
37 #ifndef H_OGF_SCENE_GRAPH_TYPES_SG_FILE_COMMANDS_H
38 #define H_OGF_SCENE_GRAPH_TYPES_SG_FILE_COMMANDS_H
39 
43 
49 namespace OGF {
50 
54  gom_attribute(abstract, "true")
55  gom_class SCENE_GRAPH_API SceneGraphCommands : public Commands {
56  public:
61 
62 
66  ~SceneGraphCommands() override;
67 
73  return dynamic_cast<SceneGraph*>(grob());
74  }
75  };
76 
77  //_________________________________________________________________________
78 
82  gom_class SCENE_GRAPH_API SceneGraphSceneCommands :
83  public SceneGraphCommands {
84  public:
89 
94 
95  gom_slots:
101  void create_object(
102  const GrobClassName& type = "OGF::MeshGrob",
103  const std::string& name="new_object"
104  );
105 
110  void rename_current(const std::string& new_name);
111 
116 
121 
125  void delete_all();
126 
133 
139 
147  const std::string& name, const std::string& value
148  );
149 
155 
161 
167  };
168 
169 }
170 
171 #endif
Represents a set of commands.
Definition: commands.h:155
A template class for strings that need to have a specific type in the GOM system.
Definition: properties.h:218
Base class for Commands that act on the whole SceneGraph.
SceneGraphCommands()
SceneGraphCommands constructor.
~SceneGraphCommands() override
SceneGraphCommands destructor.
SceneGraph * scene_graph() const
Gets the SceneGraph.
Some commands that act on the whole SceneGraph.
~SceneGraphSceneCommands()
SceneGraphSceneCommands destructor.
void delete_current()
Deletes the current object.
void set_parameter(const std::string &name, const std::string &value)
Sets a global parameter.
void duplicate_current()
Duplicates the current object.
void display_current_attributes()
Displays the attributes of the current object.
void disable_verbose()
Disables logger messages.
void delete_all()
Deletes all the objects of the scene graph.
void enable_verbose()
Enables logger messages.
SceneGraphSceneCommands()
SceneGraphSceneCommands constructor.
void list_parameters()
Lists all the parameters and their values.
void rename_current(const std::string &new_name)
Remanes the current object.
void display_current_dimensions()
Displays the bounding box and dimensions of the current object.
Represents the list of objects loaded in Graphite.
Definition: scene_graph.h:62
class that gathers commands with menu and dialogs.
Global Graphite namespace.
Definition: common.h:76
the class that represents the scene graph.
Definitions common to all include files in the scene_graph library.