| 1 |
/*---------------------------------------------------------------------------*\ |
|---|
| 2 |
* OpenSG * |
|---|
| 3 |
* * |
|---|
| 4 |
* * |
|---|
| 5 |
* Copyright (C) 2000-2007 by the OpenSG Forum * |
|---|
| 6 |
* * |
|---|
| 7 |
* www.opensg.org * |
|---|
| 8 |
* * |
|---|
| 9 |
* contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de * |
|---|
| 10 |
* * |
|---|
| 11 |
\*---------------------------------------------------------------------------*/ |
|---|
| 12 |
/*---------------------------------------------------------------------------*\ |
|---|
| 13 |
* License * |
|---|
| 14 |
* * |
|---|
| 15 |
* This library is free software; you can redistribute it and/or modify it * |
|---|
| 16 |
* under the terms of the GNU Library General Public License as published * |
|---|
| 17 |
* by the Free Software Foundation, version 2. * |
|---|
| 18 |
* * |
|---|
| 19 |
* This library is distributed in the hope that it will be useful, but * |
|---|
| 20 |
* WITHOUT ANY WARRANTY; without even the implied warranty of * |
|---|
| 21 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * |
|---|
| 22 |
* Library General Public License for more details. * |
|---|
| 23 |
* * |
|---|
| 24 |
* You should have received a copy of the GNU Library General Public * |
|---|
| 25 |
* License along with this library; if not, write to the Free Software * |
|---|
| 26 |
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * |
|---|
| 27 |
* * |
|---|
| 28 |
\*---------------------------------------------------------------------------*/ |
|---|
| 29 |
/*---------------------------------------------------------------------------*\ |
|---|
| 30 |
* Changes * |
|---|
| 31 |
* * |
|---|
| 32 |
* * |
|---|
| 33 |
* * |
|---|
| 34 |
* * |
|---|
| 35 |
* * |
|---|
| 36 |
* * |
|---|
| 37 |
\*---------------------------------------------------------------------------*/ |
|---|
| 38 |
|
|---|
| 39 |
#ifndef _OSG@!CLASSNAME!@_H_ |
|---|
| 40 |
#define _OSG@!CLASSNAME!@_H_ |
|---|
| 41 |
#ifdef __sgi |
|---|
| 42 |
#pragma once |
|---|
| 43 |
#endif |
|---|
| 44 |
|
|---|
| 45 |
#include "OSG@!Classname!@Base.h" |
|---|
| 46 |
|
|---|
| 47 |
OSG_BEGIN_NAMESPACE |
|---|
| 48 |
|
|---|
| 49 |
/*! \brief @!Classname!@ class. See \ref |
|---|
| 50 |
@@if @!isInLibrary!@ |
|---|
| 51 |
Page@!Libname!@@!Classname!@ for a description. |
|---|
| 52 |
@@else |
|---|
| 53 |
Page@!Classname!@ for a description. |
|---|
| 54 |
@@endif |
|---|
| 55 |
*/ |
|---|
| 56 |
|
|---|
| 57 |
@@if @!isInLibrary!@ |
|---|
| 58 |
class OSG_@!LIBNAME!@_DLLMAPPING @!Classname!@ : public @!Classname!@Base |
|---|
| 59 |
@@else |
|---|
| 60 |
class @!Classname!@ : public @!Classname!@Base |
|---|
| 61 |
@@endif |
|---|
| 62 |
{ |
|---|
| 63 |
/*========================== PUBLIC =================================*/ |
|---|
| 64 |
public: |
|---|
| 65 |
typedef @!Classname!@Base Inherited; |
|---|
| 66 |
typedef @!Classname!@ Self; |
|---|
| 67 |
|
|---|
| 68 |
/*---------------------------------------------------------------------*/ |
|---|
| 69 |
/*! \name Sync */ |
|---|
| 70 |
/*! \{ */ |
|---|
| 71 |
|
|---|
| 72 |
virtual void changed(ConstFieldMaskArg whichField, |
|---|
| 73 |
UInt32 origin, |
|---|
| 74 |
BitVector details ); |
|---|
| 75 |
|
|---|
| 76 |
/*! \} */ |
|---|
| 77 |
/*---------------------------------------------------------------------*/ |
|---|
| 78 |
/*! \name Output */ |
|---|
| 79 |
/*! \{ */ |
|---|
| 80 |
|
|---|
| 81 |
virtual void dump( UInt32 uiIndent = 0, |
|---|
| 82 |
const BitVector bvFlags = 0) const; |
|---|
| 83 |
|
|---|
| 84 |
/*! \} */ |
|---|
| 85 |
/*========================= PROTECTED ===============================*/ |
|---|
| 86 |
protected: |
|---|
| 87 |
|
|---|
| 88 |
// Variables should all be in @!Classname!@Base. |
|---|
| 89 |
|
|---|
| 90 |
/*---------------------------------------------------------------------*/ |
|---|
| 91 |
/*! \name Constructors */ |
|---|
| 92 |
/*! \{ */ |
|---|
| 93 |
|
|---|
| 94 |
@!Classname!@(void); |
|---|
| 95 |
@!Classname!@(const @!Classname!@ &source); |
|---|
| 96 |
|
|---|
| 97 |
/*! \} */ |
|---|
| 98 |
/*---------------------------------------------------------------------*/ |
|---|
| 99 |
/*! \name Destructors */ |
|---|
| 100 |
/*! \{ */ |
|---|
| 101 |
|
|---|
| 102 |
virtual ~@!Classname!@(void); |
|---|
| 103 |
|
|---|
| 104 |
/*! \} */ |
|---|
| 105 |
/*---------------------------------------------------------------------*/ |
|---|
| 106 |
/*! \name Init */ |
|---|
| 107 |
/*! \{ */ |
|---|
| 108 |
|
|---|
| 109 |
static void initMethod(InitPhase ePhase); |
|---|
| 110 |
|
|---|
| 111 |
/*! \} */ |
|---|
| 112 |
/*========================== PRIVATE ================================*/ |
|---|
| 113 |
private: |
|---|
| 114 |
|
|---|
| 115 |
friend class FieldContainer; |
|---|
| 116 |
friend class @!Classname!@Base; |
|---|
| 117 |
|
|---|
| 118 |
// prohibit default functions (move to 'public' if you need one) |
|---|
| 119 |
void operator =(const @!Classname!@ &source); |
|---|
| 120 |
}; |
|---|
| 121 |
|
|---|
| 122 |
typedef @!Classname!@ *@!Classname!@P; |
|---|
| 123 |
|
|---|
| 124 |
OSG_END_NAMESPACE |
|---|
| 125 |
|
|---|
| 126 |
#include "OSG@!Classname!@Base.inl" |
|---|
| 127 |
#include "OSG@!Classname!@.inl" |
|---|
| 128 |
|
|---|
| 129 |
#endif /* _OSG@!CLASSNAME!@_H_ */ |
|---|