1 /*---------------------------------------------------------------------------*\
5 * Copyright (C) 2000-2002 by the OpenSG Forum *
7 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
9 \*---------------------------------------------------------------------------*/
10 /*---------------------------------------------------------------------------*\
13 * This library is free software; you can redistribute it and/or modify it *
14 * under the terms of the GNU Library General Public License as published *
15 * by the Free Software Foundation, version 2. *
17 * This library is distributed in the hope that it will be useful, but *
18 * WITHOUT ANY WARRANTY; without even the implied warranty of *
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
20 * Library General Public License for more details. *
22 * You should have received a copy of the GNU Library General Public *
23 * License along with this library; if not, write to the Free Software *
24 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
26 \*---------------------------------------------------------------------------*/
27 /*---------------------------------------------------------------------------*\
35 \*---------------------------------------------------------------------------*/
38 #ifndef _OSGGeoSimpleGeometry_H_
39 #define _OSGGeoSimpleGeometry_H_
44 #include "OSGBaseTypes.h"
46 #include "OSGDrawableDef.h"
47 #include "OSGGeometry.h"
52 /*---------------------------------------------------------------------*/
53 /*! \name Construction functions */
56 OSG_DRAWABLE_DLLMAPPING
57 GeometryTransitPtr
makePlaneGeo (Real32 xsize
,
62 OSG_DRAWABLE_DLLMAPPING
63 NodeTransitPtr
makePlane (Real32 xsize
,
68 OSG_DRAWABLE_DLLMAPPING
69 GeometryTransitPtr
makeBoxGeo (Real32 xsize
,
77 OSG_DRAWABLE_DLLMAPPING
78 NodeTransitPtr
makeBox (Real32 xsize
,
85 OSG_DRAWABLE_DLLMAPPING
86 GeometryTransitPtr
makeConeGeo (Real32 height
,
92 OSG_DRAWABLE_DLLMAPPING
93 NodeTransitPtr
makeCone (Real32 height
,
99 OSG_DRAWABLE_DLLMAPPING
100 GeometryTransitPtr
makeCylinderGeo (Real32 height
,
107 OSG_DRAWABLE_DLLMAPPING
108 NodeTransitPtr
makeCylinder (Real32 height
,
115 OSG_DRAWABLE_DLLMAPPING
116 GeometryTransitPtr
makeTorusGeo (Real32 innerRadius
,
122 OSG_DRAWABLE_DLLMAPPING
123 NodeTransitPtr
makeTorus (Real32 innerRadius
,
128 OSG_DRAWABLE_DLLMAPPING
129 GeometryTransitPtr
makeSphereGeo (UInt16 depth
,
132 OSG_DRAWABLE_DLLMAPPING
133 NodeTransitPtr
makeSphere (UInt16 depth
,
136 OSG_DRAWABLE_DLLMAPPING
137 GeometryTransitPtr
makeLatLongSphereGeo (UInt16 latres
,
141 OSG_DRAWABLE_DLLMAPPING
142 NodeTransitPtr
makeLatLongSphere (UInt16 latres
,
146 OSG_DRAWABLE_DLLMAPPING
147 GeometryTransitPtr
makeLatLongEllipsoidGeo(UInt16 latres
,
149 Real32 rSemiMajorAxis
,
150 Real32 rSemiMinorAxis
);
152 OSG_DRAWABLE_DLLMAPPING
153 NodeTransitPtr
makeLatLongEllipsoid (UInt16 latres
,
155 Real32 rSemiMajorAxis
,
156 Real32 rSemiMinorAxis
);
158 OSG_DRAWABLE_DLLMAPPING
159 GeometryTransitPtr
makeLatLongEllipsoidGeoSeg(UInt16 latres
,
161 Real32 rSemiMajorAxis
,
162 Real32 rSemiMinorAxis
,
164 Real32 rStartLongRad
,
166 Real32 rStopLongRad
);
168 OSG_DRAWABLE_DLLMAPPING
169 NodeTransitPtr
makeLatLongEllipsoidSeg (UInt16 latres
,
171 Real32 rSemiMajorAxis
,
172 Real32 rSemiMinorAxis
,
174 Real32 rStartLongRad
,
176 Real32 rStopLongRad
);
178 OSG_DRAWABLE_DLLMAPPING
179 GeometryTransitPtr
makeEllipsoidAxisGeo (UInt16 latres
,
181 Real32 rSemiMajorAxis
,
182 Real32 rSemiMinorAxis
);
184 OSG_DRAWABLE_DLLMAPPING
185 NodeTransitPtr
makeEllipsoidAxis (UInt16 latres
,
187 Real32 rSemiMajorAxis
,
188 Real32 rSemiMinorAxis
);
190 OSG_DRAWABLE_DLLMAPPING
191 GeometryTransitPtr
makeConicalFrustumGeo (Real32 height
,
199 OSG_DRAWABLE_DLLMAPPING
200 NodeTransitPtr
makeConicalFrustum (Real32 height
,
207 OSG_DRAWABLE_DLLMAPPING
208 NodeTransitPtr
makeCoordAxis(Real32 length
,
209 Real32 lineWidth
= 2.0f
,
210 bool showAxisName
= true);
212 OSG_DRAWABLE_DLLMAPPING
213 GeometryTransitPtr
makeCoordAxisGeo(Real32 length
,
214 Real32 lineWidth
= 2.0f
,
215 bool showAxisName
= true);
217 OSG_DRAWABLE_DLLMAPPING
218 GeometryTransitPtr
makeTeapotGeo(UInt16 depth
,
219 Real32 rScale
= 1.f
);
221 OSG_DRAWABLE_DLLMAPPING
222 NodeTransitPtr
makeTeapot (UInt16 depth
,
223 Real32 rScale
= 1.f
);
229 #endif /* _OSGGeoSimpleGeometry_H_ */