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

Revision 442, 7.7 kB (checked in by cneumann, 2 years ago)

changed: convertible enum definition.

fcd2code already had this change, and all *Fields.h files in
the tree contain the new definition.
fixes ticket #114

  • 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 *FCPtrTemplate_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 "/*****************************************************************************\\",
50 " *****************************************************************************",
51 " **                                                                         **",
52 " **                  This file is automatically generated.                  **",
53 " **                                                                         **",
54 " **          Any changes made to this file WILL be lost when it is          **",
55 " **           regenerated, which can become necessary at any time.          **",
56 " **                                                                         **",
57 " *****************************************************************************",
58 "\\*****************************************************************************/",
59 "",
60 "",
61 "#ifndef _OSG@!CLASSNAME!@FIELDS_H_",
62 "#define _OSG@!CLASSNAME!@FIELDS_H_",
63 "#ifdef __sgi",
64 "#pragma once",
65 "#endif",
66 "",
67 "#include \"@!HeaderPrefix!@OSGConfig.h\"",
68 "@@if Library",
69 "#include \"OSG@!Libname!@Def.h\"",
70 "@@endif",
71 "",
72 "#include \"@!ParentHeaderPrefix!@OSG@!Parent!@Fields.h\"",
73 "",
74 "#include \"@!HeaderPrefix!@OSGSFieldAdaptor.h\"",
75 "#include \"@!HeaderPrefix!@OSGMFieldAdaptor.h\"",
76 "",
77 "",
78 "OSG_BEGIN_NAMESPACE",
79 "",
80 "class @!Classname!@;",
81 "",
82 "#if !defined(OSG_DO_DOC) // created as a dummy class, remove to prevent doubles",
83 "//! @!Classname!@Ptr",
84 "",
85 "typedef PointerFwdBuilder<@!Parent!@Ptr, ",
86 "                          @!Parent!@ConstPtr,",
87 "                          @!Classname!@>::ObjPtr         @!Classname!@Ptr;",
88 "typedef PointerFwdBuilder<@!Parent!@Ptr, ",
89 "                          @!Parent!@ConstPtr,",
90 "                          @!Classname!@>::ObjPtrConst    @!Classname!@PtrConst;",
91 "typedef PointerFwdBuilder<@!Parent!@Ptr, ",
92 "                          @!Parent!@ConstPtr,",
93 "                          @!Classname!@>::ObjConstPtr    @!Classname!@ConstPtr;",
94 "typedef PointerFwdBuilder<@!Parent!@Ptr, ",
95 "                          @!Parent!@ConstPtr,",
96 "                          @!Classname!@>::ObjPtrArg      @!Classname!@PtrArg;",
97 "typedef PointerFwdBuilder<@!Parent!@Ptr, ",
98 "                          @!Parent!@ConstPtr,",
99 "                          @!Classname!@>::ObjConstPtrArg @!Classname!@ConstPtrArg;",
100 "typedef PointerFwdBuilder<@!Parent!@Ptr, ",
101 "                          @!Parent!@ConstPtr,",
102 "                          @!Classname!@>::ObjPtrConstArg @!Classname!@PtrConstArg;",
103 "",
104 "#endif",
105 "",
106 "#if !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)",
107 "@@if Library",
108 "/*! \\ingroup Grp@!Libname!@FieldTraits",
109 " */",
110 "@@endif",
111 "#if !defined(OSG_DOC_DEV_TRAITS)",
112 "/*! \\hideinhierarchy */",
113 "#endif",
114 "",
115 "template <>",
116 "struct FieldTraits<@!Classname!@Ptr> : ",
117 "    public FieldTraitsTemplateBase<@!Classname!@Ptr>",
118 "{",
119 "  private:",
120 "",
121 "    static DataType             _type;                       ",
122 "",
123 "  public:",
124 "",
125 "    typedef FieldTraits<@!Classname!@Ptr>  Self;",
126 "",
127 "    enum                                 { Convertible = NotConvertible };",
128 "@@if Pointerfield",
129 "",
130 "    static OSG_@!LIBNAME!@_DLLMAPPING ",
131 "                     DataType &getType (void);",
132 "",
133 "@@endif",
134 "@@if SFPointerfield",
135 "    static const char *getSName(void) { return \"SF@!Classname!@Ptr\"; }",
136 "@@endif",
137 "@@if MFPointerfield",
138 "    static const char *getMName(void) { return \"MF@!Classname!@Ptr\"; }",
139 "@@endif",
140 "};",
141 "",
142 "#if !defined(OSG_DOC_DEV_TRAITS)",
143 "/*! \\class  FieldTraitsTemplateBase<@!Classname!@Ptr, 0>",
144 "    \\hideinhierarchy",
145 " */",
146 "#endif",
147 "",
148 "#endif // !defined(OSG_DO_DOC) || (OSG_DOC_LEVEL >= 3)",
149 "",
150 "",
151 "@@if SFPointerfield",
152 "#if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)",
153 "@@if Library",
154 "/*! \\ingroup Grp@!Libname!@FieldSingle */",
155 "",
156 "@@endif",
157 "typedef SFieldAdaptor<@!Classname!@Ptr, SFFieldContainerPtr> SF@!Classname!@Ptr;",
158 "#endif",
159 "",
160 "#ifndef OSG_COMPILE@!CLASSNAME!@INST",
161 "OSG_FIELD_DLLEXPORT_DECL1(SField, @!Classname!@Ptr, OSG_@!LIBNAME!@_DLLTMPLMAPPING)",
162 "#endif",
163 "@@endif",
164 "",
165 "@@if MFPointerfield",
166 "#if !defined(OSG_DO_DOC) || defined(OSG_DOC_FIELD_TYPEDEFS)",
167 "@@if Library",
168 "/*! \\ingroup Grp@!Libname!@FieldMulti */",
169 "",
170 "@@endif",
171 "typedef MFieldAdaptor<@!Classname!@Ptr, MFFieldContainerPtr> MF@!Classname!@Ptr;",
172 "#endif",
173 "",
174 "#ifndef OSG_COMPILE@!CLASSNAME!@INST",
175 "OSG_FIELD_DLLEXPORT_DECL1(MField, @!Classname!@Ptr, OSG_@!LIBNAME!@_DLLTMPLMAPPING)",
176 "#endif",
177 "",
178 "@@endif",
179 "OSG_END_NAMESPACE",
180 "",
181 "#define OSG@!CLASSNAME!@FIELDS_HEADER_CVSID \"@(#)$Id$\"",
182 "",
183 "#endif /* _OSG@!CLASSNAME!@FIELDS_H_ */",
184 NULL };
Note: See TracBrowser for help on using the browser.