Graphite Version 3
An experimental 3D geometry processing program
Loading...
Searching...
No Matches
scene_graph_graphics.h
1/*
2 * OGF/Graphite: Geometry and Graphics Programming Library + Utilities
3 * Copyright (C) 2000-2009 INRIA - Project ALICE
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 - levy@loria.fr
24 *
25 * Project ALICE
26 * LORIA, INRIA Lorraine,
27 * Campus Scientifique, BP 239
28 * 54506 VANDOEUVRE LES NANCY CEDEX
29 * FRANCE
30 *
31 * Note that the GNU General Public License does not permit incorporating
32 * the Software into proprietary programs.
33 *
34 * As an exception to the GPL, Graphite can be linked with the following
35 * (non-GPL) libraries:
36 * Qt, SuperLU, WildMagic and CGAL
37 */
38
39#ifndef H_OGF_SCENE_GRAPH_INTERFACES_SCENE_GRAPH_GRAPHICS_H
40#define H_OGF_SCENE_GRAPH_INTERFACES_SCENE_GRAPH_GRAPHICS_H
41
43#include <OGF/scene_graph/interfaces/scene_graph_interface.h>
44
45namespace OGF {
46
53 gom_class SCENE_GRAPH_API SceneGraphGraphicsInterface :
54 public SceneGraphInterface {
55 public:
60
65
66 gom_slots:
67
73 void show_object(const GrobName& grob);
74
80 void show_only(const GrobName& grob);
81
87
92 void show_all();
93
99 void hide_object(const GrobName& grob);
100
106
111 void hide_all();
112
119
126
134
143 const GrobName& grob, const std::string& user_name
144 );
145 };
146
147}
148
149#endif
All SceneGraph modifications related with graphics go through this Interface.
void hide_object(const GrobName &grob)
Makes an object invisible.
void show_all()
Makes all objects visible.
void show_only(const GrobName &grob)
Makes an object visible and hides all the other ones.
void show_selected()
Makes all selected objects visible.
void set_object_shader(const GrobName &grob, const std::string &user_name)
Sets the shader for an object.
void copy_object_properties_to_visible(const GrobName &grob)
Copies graphic properties of an object to all visible objects.
void copy_object_properties_to_selected(const GrobName &grob)
Copies graphic properties of an object to all selected objects.
SceneGraphGraphicsInterface()
SceneGraphSelectionInterface constructor.
void hide_selected()
Makes all selected objects invisible.
void copy_object_properties_to_all(const GrobName &grob)
Copies graphic properties of an object to all objects.
void hide_all()
Makes all objects invisible.
~SceneGraphGraphicsInterface() override
SceneGraphEditor destrutor.
All SceneGraph modifications go through a SceneGraphInterface.
Global Graphite namespace.
Definition common.h:76
Definitions common to all include files in the scene_graph library.