root/branches/Carsten_PtrWork2/Tools/fcdProcess/FCTemplate_h.h

Revision 106, 7.6 kB (checked in by dirk, 2 years ago)

Keyword substitution added
Version string fixed

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1 /* This is a template file for fcdEdit.
2  * To create it from sample source,  cut'n'paste the source and apply the following
3  * substitutions:
4  * s|\|\\|g
5  * s|"|\"|g
6  * s|^|"|
7  * s|$|",|
8  */
9
10 char *FCTemplate_h[]={
11 "/*---------------------------------------------------------------------------*\\",
12 " *                                OpenSG                                     *",
13 " *                                                                           *",
14 " *                                                                           *",
15 " *               Copyright (C) 2000-2006 by the OpenSG Forum                 *",
16 " *                                                                           *",
17 " *                            www.opensg.org                                 *",
18 " *                                                                           *",
19 " *   contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de          *",
20 " *                                                                           *",
21 "\\*---------------------------------------------------------------------------*/",
22 "/*---------------------------------------------------------------------------*\\",
23 " *                                License                                    *",
24 " *                                                                           *",
25 " * This library is free software; you can redistribute it and/or modify it   *",
26 " * under the terms of the GNU Library General Public License as published    *",
27 " * by the Free Software Foundation, version 2.                               *",
28 " *                                                                           *",
29 " * This library is distributed in the hope that it will be useful, but       *",
30 " * WITHOUT ANY WARRANTY; without even the implied warranty of                *",
31 " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         *",
32 " * Library General Public License for more details.                          *",
33 " *                                                                           *",
34 " * You should have received a copy of the GNU Library General Public         *",
35 " * License along with this library; if not, write to the Free Software       *",
36 " * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                 *",
37 " *                                                                           *",
38 "\\*---------------------------------------------------------------------------*/",
39 "/*---------------------------------------------------------------------------*\\",
40 " *                                Changes                                    *",
41 " *                                                                           *",
42 " *                                                                           *",
43 " *                                                                           *",
44 " *                                                                           *",
45 " *                                                                           *",
46 " *                                                                           *",
47 "\\*---------------------------------------------------------------------------*/",
48 "",
49 "#ifndef _OSG@!CLASSNAME!@_H_",
50 "#define _OSG@!CLASSNAME!@_H_",
51 "#ifdef __sgi",
52 "#pragma once",
53 "#endif",
54 "",
55 "#include \"OSG@!Classname!@Base.h\"",
56 "",
57 "OSG_BEGIN_NAMESPACE",
58 "",
59 "/*! \\brief @!Classname!@ class. See \\ref ",
60 "           Page@!Libname!@@!Classname!@ for a description.",
61 "*/",
62 "",
63 "@@if Library",
64 "class OSG_@!LIBNAME!@_DLLMAPPING @!Classname!@ : public @!Classname!@Base",
65 "@@else",
66 "class OSG_@!LIBNAME!@_DLLMAPPING @!Classname!@ : public @!Classname!@Base",
67 "@@endif",
68 "{",
69 "  protected:",
70 "",
71 "    /*==========================  PUBLIC  =================================*/",
72 "",
73 "  public:",
74 "",
75 "    typedef @!Classname!@Base Inherited;",
76 "    typedef @!Classname!@     Self;",
77 "",
78 "    typedef PointerBuilder<@!Classname!@>::ObjPtr           ObjPtr;",
79 "    typedef PointerBuilder<@!Classname!@>::ObjPtrConst      ObjPtrConst;",
80 "",
81 "    typedef PointerBuilder<@!Classname!@>::ObjConstPtr      ObjConstPtr;",
82 "    typedef PointerBuilder<@!Classname!@>::ObjConstPtrConst ObjConstPtrConst;",
83 "",
84 "    typedef PointerBuilder<@!Classname!@>::ObjPtrArg        ObjPtrArg;",
85 "    typedef PointerBuilder<@!Classname!@>::ObjPtrConstArg   ObjPtrConstArg;",
86 "",
87 "    /*---------------------------------------------------------------------*/",
88 "    /*! \\name                      Sync                                    */",
89 "    /*! \\{                                                                 */",
90 "",
91 "    virtual void changed(ConstFieldMaskArg whichField, ",
92 "                         UInt32            origin    );",
93 "",
94 "    /*! \\}                                                                 */",
95 "    /*---------------------------------------------------------------------*/",
96 "    /*! \\name                     Output                                   */",
97 "    /*! \\{                                                                 */",
98 "",
99 "    virtual void dump(      UInt32     uiIndent = 0, ",
100 "                      const BitVector  bvFlags  = 0) const;",
101 "",
102 "    /*! \\}                                                                 */",
103 "    /*=========================  PROTECTED  ===============================*/",
104 "",
105 "  protected:",
106 "",
107 "    // Variables should all be in @!Classname!@Base.",
108 "",
109 "    /*---------------------------------------------------------------------*/",
110 "    /*! \\name                  Constructors                                */",
111 "    /*! \\{                                                                 */",
112 "",
113 "    @!Classname!@(void);",
114 "    @!Classname!@(const @!Classname!@ &source);",
115 "",
116 "    /*! \\}                                                                 */",
117 "    /*---------------------------------------------------------------------*/",
118 "    /*! \\name                   Destructors                                */",
119 "    /*! \\{                                                                 */",
120 "",
121 "    virtual ~@!Classname!@(void); ",
122 "",
123 "    /*! \\}                                                                 */",
124 "    /*---------------------------------------------------------------------*/",
125 "    /*! \name                      Init                                    */",
126 "    /*! \{                                                                 */",
127 "",
128 "    static void initMethod(InitPhase ePhase);",
129 "",
130 "    /*! \}                                                                 */",
131 "    /*==========================  PRIVATE  ================================*/",
132 "",
133 "  private:",
134 "",
135 "    friend class @!Classname!@Base;",
136 "",
137 "    template<class ContainerFactoryT>",
138 "    friend struct CPtrConstructionFunctions;",
139 "",
140 "    template<class ContainerFactoryT>",
141 "    friend struct PtrConstructionFunctions;",
142 "",
143 "    // prohibit default functions (move to 'public' if you need one)",
144 "    void operator =(const @!Classname!@ &source);",
145 "};",
146 "",
147 "typedef @!Classname!@ *@!Classname!@P;",
148 "",
149 "typedef @!Classname!@::ObjPtr           @!Classname!@Ptr;",
150 "typedef @!Classname!@::ObjPtrConst      @!Classname!@PtrConst;",
151 "",
152 "typedef @!Classname!@::ObjConstPtr      @!Classname!@ConstPtr;",
153 "typedef @!Classname!@::ObjConstPtrConst @!Classname!@ConstPtrConst;",
154 "",
155 "typedef @!Classname!@::ObjPtrArg        @!Classname!@PtrArg;",
156 "typedef @!Classname!@::ObjPtrConstArg   @!Classname!@PtrConstArg;",
157 "",
158 "OSG_END_NAMESPACE",
159 "",
160 "#include \"OSG@!Classname!@Base.inl\"",
161 "#include \"OSG@!Classname!@.inl\"",
162 "",
163 "#define OSG@!CLASSNAME!@_HEADER_CVSID \"@(#)$Id$\"",
164 "",
165 "#endif /* _OSG@!CLASSNAME!@_H_ */",
166 NULL };
Note: See TracBrowser for help on using the browser.