Graphite  Version 3
An experimental 3D geometry processing program
common.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 
38 #ifndef H_OGF_SCENE_GRAPH_COMMON_COMMON_H
39 #define H_OGF_SCENE_GRAPH_COMMON_COMMON_H
40 
47 
48 #ifdef scene_graph_EXPORTS
49 # define SCENE_GRAPH_API OGF_EXPORT
50 #else
51 # define SCENE_GRAPH_API OGF_IMPORT
52 #endif
53 
54 
55 #include <iostream>
56 // iostream should be included before anything
57 // else, otherwise 'cin', 'cout' and 'cerr' will
58 // be uninitialized.
59 
61 #include <OGF/gom/common/common.h>
63 
64 namespace OGF {
65 
66  static class SCENE_GRAPH_API scene_graph_libinit {
67  public:
68  scene_graph_libinit() ;
69  ~scene_graph_libinit() ;
70 
71  static void increment_users() ;
72  static void decrement_users() ;
73 
74 
75  private:
76  static void initialize() ;
77  static void terminate() ;
78  static int count_ ;
79  } scene_graph_libinit_instance ;
80 
81 }
82 
83 #endif
void initialize()
Initializes the command line framework.
void terminate()
Cleans up the command line framework.
Global Graphite namespace.
Definition: common.h:76
Definitions common to all include files in the basic library.
Simple geometric objects and manipulations.
Definitions common to all include files in the gom library.
Definitions common to all include files in the gom_gom library.