fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / Contrib / Rhino3DLoader / OSGRhinoSceneFileType.h
blobca288fe6b49f9690567b8230da6d4b6f56583388
1 /*---------------------------------------------------------------------------*\
2 * OpenSG openNURBS SceneFileType *
3 * *
4 * *
5 * Copyright (C) 2007-2008 by Seac02 S.r.l. http://www.seac02.it *
6 * Copyright (C) 2008 by Patrik Mueller muellerptr@users.sourceforge.net *
7 * Copyright (C) 2008 by Akos Balazs edhellon@cs.uni-bonn.de *
8 * *
9 \*---------------------------------------------------------------------------*/
10 /*---------------------------------------------------------------------------*\
11 * License *
12 * *
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. *
16 * *
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. *
21 * *
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. *
25 * *
26 \*---------------------------------------------------------------------------*/
27 /*---------------------------------------------------------------------------*\
28 * Changes *
29 * *
30 * *
31 * *
32 * *
33 * *
34 * *
35 \*---------------------------------------------------------------------------*/
37 #ifndef _OSGRHINOSCENEFILETYPE_H_
38 #define _OSGRHINOSCENEFILETYPE_H_
39 #ifdef __sgi
40 #pragma once
41 #endif
43 #include "OSGContribRhino3DDef.h"
44 #include "OSGBaseTypes.h"
46 #include "OSGSceneFileType.h"
48 OSG_BEGIN_NAMESPACE
50 /*!\brief OSGRhinoSceneFileType
53 class OSG_CONTRIBRHINO3D_DLLMAPPING RhinoSceneFileType : public SceneFileType
55 /*========================== PUBLIC =================================*/
56 public:
58 /*---------------------------------------------------------------------*/
59 /*! \name Static Get */
60 /*! \{ */
62 static RhinoSceneFileType &the(void);
64 /*! \} */
65 /*---------------------------------------------------------------------*/
66 /*! \name Destructors */
67 /*! \{ */
69 virtual ~RhinoSceneFileType(void);
71 /*! \} */
72 /*---------------------------------------------------------------------*/
73 /*! \name Get */
74 /*! \{ */
76 virtual const Char8 *getName(void) const;
78 /*! \} */
79 /*---------------------------------------------------------------------*/
80 /*! \name Read */
81 /*! \{ */
83 virtual NodeTransitPtr read( std::istream &is,
84 const Char8 *fileNameOrExtension,
85 Resolver resolver = NULL ) const;
87 /*! \} */
88 /*---------------------------------------------------------------------*/
89 /*! \name Params */
90 /*! \{ */
92 /*! \} */
93 /*========================= PROTECTED ===============================*/
95 protected:
97 NodeTransitPtr read3DM(const Char8 *fileName) const;
99 /*---------------------------------------------------------------------*/
100 /*! \name Member */
101 /*! \{ */
103 static const Char8 *_suffixA[];
104 static RhinoSceneFileType _the;
106 /*! \} */
107 /*---------------------------------------------------------------------*/
108 /*! \name Constructors */
109 /*! \{ */
111 RhinoSceneFileType(const Char8 *suffixArray[],
112 UInt16 suffixByteCount,
113 bool override,
114 UInt32 overridePriority,
115 UInt32 flags);
117 /*! \} */
118 /*========================== PRIVATE ================================*/
120 private:
122 typedef SceneFileType Inherited;
124 /*!\brief prohibit default function (move to 'public' if needed) */
125 RhinoSceneFileType(const RhinoSceneFileType &obj);
126 /*!\brief prohibit default function (move to 'public' if needed) */
127 void operator =(const RhinoSceneFileType &source);
130 typedef RhinoSceneFileType* RhinoSceneFileTypeP;
132 OSG_END_NAMESPACE
134 #endif // _OSGRHINOSCENEFILETYPE_H_