changed: gcc8 base update
[opensg.git] / Source / Base / FieldContainer / Fields / OSGContainerTypeInst.cpp
blob3d276bae1e382a37d3630d41e480ea6ffdd40cd3
1 /*---------------------------------------------------------------------------*\
2 * OpenSG *
3 * *
4 * *
5 * Copyright (C) 2000-2003 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 \*---------------------------------------------------------------------------*/
39 #include "OSGField.h"
41 #include "OSGSField.h"
42 #include "OSGSField.ins"
44 #include "OSGMField.h"
45 #include "OSGMField.ins"
47 #include "OSGFieldContainerSFields.h"
48 #include "OSGFieldContainerMFields.h"
50 #include "OSGAttachmentContainerSFields.h"
51 #include "OSGAttachmentContainerMFields.h"
53 #include "OSGNodeSFields.h"
54 #include "OSGNodeMFields.h"
56 #include "OSGMemoryObjectSFields.h"
57 #include "OSGMemoryObjectMFields.h"
59 #include "OSGHardwareContextDataSFields.h"
60 #include "OSGHardwareContextDataMFields.h"
62 #include "OSGChangedFunctorSFields.h"
63 #include "OSGChangedFunctorMFields.h"
65 #include "OSGNode.h"
67 OSG_BEGIN_NAMESPACE
69 PointerType FieldTraits<FieldContainer *>::_type(
70 "FieldContainerPtr",
71 NULL,
72 FieldContainer::getClassType(),
73 nsOSG);
75 DataType FieldTraits<FieldContainer *>::_mapType(
76 "FieldContainerPtrMap",
77 NULL,
78 nsOSG);
80 PointerType FieldTraits<AttachmentContainer *>::_type(
81 "AttachmentContainerPtr",
82 "FieldContainerPtr",
83 AttachmentContainer::getClassType(),
84 nsOSG);
86 PointerType FieldTraits<Node *>::_type(
87 "NodePtr",
88 "AttachmentContainerPtr",
89 Node::getClassType(),
90 nsOSG);
92 DataType FieldTraits<ChangedFunctorCallback >::_type(
93 "ChangedFunctorCallback",
94 NULL,
95 nsOSG);
97 DataType FieldTraits<MemoryObject *>::_type(
98 "MemoryObjectPtr",
99 NULL,
100 nsOSG);
102 DataType FieldTraits<HardwareContextData *>::_type(
103 "HardwareContextDataPtr",
104 "MemoryObjectPtr",
105 nsOSG);
107 OSG_FIELDTRAITS_GETTYPE(FieldContainer *)
108 OSG_FIELDTRAITS_GETTYPE(AttachmentContainer *)
109 OSG_FIELDTRAITS_GETTYPE(Node *)
110 OSG_FIELDTRAITS_GETTYPE(ChangedFunctorCallback )
111 OSG_FIELDTRAITS_GETTYPE(MemoryObject *)
112 OSG_FIELDTRAITS_GETTYPE(HardwareContextData *)
114 DataType &FieldTraits< FieldContainer *>::getMapType(void)
116 return _mapType;
119 DataType &FieldTraits< FieldContainer *, 1 >::getType(void)
121 return FieldTraits<FieldContainer *, 0>::getType();
124 DataType &FieldTraits< Node *, 1 >::getType(void)
126 return FieldTraits<Node *, 0>::getType();
129 // FieldContainer
131 OSG_EXPORT_PTR_SFIELD_FULL(PointerSField,
132 FieldContainer *,
135 OSG_EXPORT_PTR_MFIELD_FULL(PointerMField,
136 FieldContainer *,
139 // Node
141 OSG_EXPORT_PTR_SFIELD_FULL(PointerSField,
142 Node *,
145 OSG_EXPORT_PTR_MFIELD_FULL(PointerMField,
146 Node *,
149 // AttachmentContainer
151 OSG_EXPORT_PTR_SFIELD_FULL(PointerSField,
152 AttachmentContainer *,
155 OSG_EXPORT_PTR_MFIELD_FULL(PointerMField,
156 AttachmentContainer *,
159 // NodeChildNode
160 OSG_EXPORT_PTR_MFIELD(ChildPointerMField,
161 Node *,
162 UnrecordedRefCountPolicy,
166 // ParentFieldContainer
168 OSG_SFIELDTYPE_INST(ParentPointerSField,
169 FieldContainer *,
170 NoRefCountPolicy,
172 OSG_MFIELDTYPE_INST(ParentPointerMField,
173 FieldContainer *,
174 NoRefCountPolicy,
177 OSG_FIELD_DLLEXPORT_DEF3(ParentPointerSField,
178 FieldContainer *,
179 NoRefCountPolicy,
181 OSG_FIELD_DLLEXPORT_DEF3(ParentPointerMField,
182 FieldContainer *,
183 NoRefCountPolicy,
187 OSG_SFIELDTYPE_INST_X(ParentPointerSField,
188 Node *,
189 NoRefCountPolicy,
191 OSG_MFIELDTYPE_INST_X(ParentPointerMField,
192 Node *,
193 NoRefCountPolicy,
196 OSG_FIELD_DLLEXPORT_DEF3(ParentPointerSField,
197 Node *,
198 NoRefCountPolicy,
200 OSG_FIELD_DLLEXPORT_DEF3(ParentPointerMField,
201 Node *,
202 NoRefCountPolicy,
205 // ChangeFunctor
207 OSG_FIELD_DLLEXPORT_DEF1(SField, ChangedFunctorCallback)
208 OSG_FIELD_DLLEXPORT_DEF1(MField, ChangedFunctorCallback)
210 // MemoryObject
212 OSG_EXPORT_PTR_SFIELD(MemObjPointerSField,
213 MemoryObject *,
214 MemObjRefCountPolicy,
216 OSG_EXPORT_PTR_MFIELD(MemObjPointerMField,
217 MemoryObject *,
218 MemObjRefCountPolicy,
221 // HardwareContextData
223 OSG_EXPORT_PTR_SFIELD(MemObjPointerSField,
224 HardwareContextData *,
225 MemObjRefCountPolicy,
227 OSG_EXPORT_PTR_MFIELD(MemObjPointerMField,
228 HardwareContextData *,
229 MemObjRefCountPolicy,
232 OSG_END_NAMESPACE