Open Inventor Reference
SoDebug.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (C) 2000 Silicon Graphics, Inc. All Rights Reserved.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library 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 GNU
13  * Lesser General Public License for more details.
14  *
15  * Further, this software is distributed without any warranty that it is
16  * free of the rightful claim of any third person regarding infringement
17  * or the like. Any license provided herein, whether implied or
18  * otherwise, applies only to this software file. Patent licenses, if
19  * any, provided herein do not apply to combinations of this program with
20  * other software, or any other product whatsoever.
21  *
22  * You should have received a copy of the GNU Lesser General Public
23  * License along with this library; if not, write to the Free Software
24  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25  *
26  * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
27  * Mountain View, CA 94043, or:
28  *
29  * http://www.sgi.com
30  *
31  * For further information regarding this notice, see:
32  *
33  * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
34  *
35  */
36 
37 
38 /*
39  * Copyright (C) 1990,91,92 Silicon Graphics, Inc.
40  *
41  _______________________________________________________________________
42  ______________ S I L I C O N G R A P H I C S I N C . ____________
43  |
44  | $Revision: 1.1.1.1 $
45  |
46  | Description:
47  | Internal debugging helper routines. This entire class is #ifdef
48  | DEBUG, it is not part of the optimized library.
49  |
50  | Classes:
51  | SoDebug
52  |
53  | Author(s) : Gavin Bell
54  |
55  ______________ S I L I C O N G R A P H I C S I N C . ____________
56  _______________________________________________________________________
57  */
58 
59 #ifndef _SO_DEBUG_
60 #define _SO_DEBUG_
61 
62 #include <Inventor/misc/SoBasic.h>
63 
64 class SoBase;
65 class SoNode;
66 class SoField;
67 
79 
81  public:
84  static const char * GetEnv(const char *envVar);
85 
89  static void RTPrintf(const char *formatString ...);
90 
93  static void NamePtr(const char *name, void *ptr);
94 
97  static const char * PtrName(void *ptr);
98 
102  static void write(SoNode *node);
103 
106  static void writeFile(SoNode *node, const char *filename);
107 
111  static void writeField(SoField *node);
112 
115  static void printName(SoBase *base);
116 };
117 
118 #endif /* _SO_DEBUG_ */
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
Definition: SbSystem.h:81
Base class for all nodes, paths, and engines.
Definition: SoBase.h:90
List of environment variables for tracing:
Definition: SoDebug.h:80
static void RTPrintf(const char *formatString ...)
Prints into an internal buffer that is emptied every once in a while.
static void printName(SoBase *base)
Writes the name of the given object to stdout.
static void NamePtr(const char *name, void *ptr)
Assign the given pointer a name.
static const char * GetEnv(const char *envVar)
Returns value of environment variable; faster than getenv() because the environment variables are sto...
static void write(SoNode *node)
Applies an SoWriteAction to the graph rooted by the given node.
static const char * PtrName(void *ptr)
Return the name of the given pointer (returns "<noName>" if not named previously with NamePtr).
static void writeField(SoField *node)
Applies an SoWriteAction to the container of the given field.
static void writeFile(SoNode *node, const char *filename)
Applies an SoWriteAction to the graph rooted by the given node, writing to given file,...
Base class for all fields.
Definition: SoField.h:185
Abstract base class for all database nodes.
Definition: SoNode.h:103