#include <OSGRAWSceneFileType.h>

Public Types | |
| typedef std::vector < FieldContainerPtr > | FCPtrStore |
Flags | |
| enum | { OSG_READ_SUPPORTED = 1, OSG_WRITE_SUPPORTED = 2 } |
Public Member Functions | |
Destructors | |
| virtual | ~RAWSceneFileType (void) |
Get | |
| virtual const Char8 * | getName (void) const |
Read | |
| virtual NodePtr | read (std::istream &is, const Char8 *fileNameOrExtension) const |
Set | |
| void | setOptions (const Char8 *options) |
Get | |
| virtual std::list< IDString > & | suffixList (void) |
| bool | doOverride (void) |
| UInt32 | getOverridePriority (void) |
| UInt32 | getFlags (void) |
| const Char8 * | getOptions (void) |
Read | |
| virtual NodePtr | readFile (const Char8 *fileName) const |
Write | |
| virtual bool | write (const NodePtr &node, std::ostream &os, const Char8 *fileNameOrExtension) const |
| virtual bool | writeFile (const NodePtr &node, const Char8 *fileName) const |
Debug | |
| void | print (void) |
Static Public Member Functions | |
Static Get | |
| static RAWSceneFileType & | the (void) |
Protected Member Functions | |
Constructors | |
| RAWSceneFileType (const Char8 *suffixArray[], UInt16 suffixByteCount, bool override, UInt32 overridePriority, UInt32 flags) | |
| RAWSceneFileType (const RAWSceneFileType &obj) | |
Protected Attributes | |
Member | |
| std::list< IDString > | _suffixList |
| bool | _override |
| UInt32 | _overridePriority |
| UInt32 | _flags |
| std::string | _options |
Static Protected Attributes | |
Member | |
| static const Char8 * | _suffixA [] = {"raw"} |
| static RAWSceneFileType | _the |
Private Types | |
| typedef SceneFileType | Inherited |
Private Member Functions | |
| void | operator= (const RAWSceneFileType &source) |
| prohibit default function (move to 'public' if needed) | |
Definition at line 54 of file OSGRAWSceneFileType.h.
typedef SceneFileType osg::RAWSceneFileType::Inherited [private] |
Definition at line 115 of file OSGRAWSceneFileType.h.
typedef std::vector<FieldContainerPtr> osg::SceneFileType::FCPtrStore [inherited] |
Reimplemented in osg::OSGSceneFileType, and osg::VRMLSceneFileType.
Definition at line 65 of file OSGSceneFileType.h.
anonymous enum [inherited] |
Definition at line 78 of file OSGSceneFileType.h.
00079 { 00080 OSG_READ_SUPPORTED = 1, 00081 OSG_WRITE_SUPPORTED = 2 00082 };
| RAWSceneFileType::~RAWSceneFileType | ( | void | ) | [virtual] |
| RAWSceneFileType::RAWSceneFileType | ( | const Char8 * | suffixArray[], | |
| UInt16 | suffixByteCount, | |||
| bool | override, | |||
| UInt32 | overridePriority, | |||
| UInt32 | flags | |||
| ) | [protected] |
constructors & destructors
Definition at line 277 of file OSGRAWSceneFileType.cpp.
00281 : 00282 SceneFileType(suffixArray, 00283 suffixByteCount, 00284 override, 00285 overridePriority, 00286 flags) 00287 { 00288 }
| RAWSceneFileType::RAWSceneFileType | ( | const RAWSceneFileType & | obj | ) | [protected] |
constructors & destructors
Definition at line 321 of file OSGRAWSceneFileType.cpp.
00321 : 00322 SceneFileType(obj) 00323 { 00324 return; 00325 }
| RAWSceneFileType & RAWSceneFileType::the | ( | void | ) | [static] |
Definition at line 290 of file OSGRAWSceneFileType.cpp.
References _the.
00291 { 00292 return _the; 00293 }
| const Char8 * RAWSceneFileType::getName | ( | void | ) | const [virtual] |
| NodePtr RAWSceneFileType::read | ( | std::istream & | is, | |
| const Char8 * | fileNameOrExtension | |||
| ) | const [virtual] |
Reimplemented from osg::SceneFileType.
Definition at line 124 of file OSGRAWSceneFileType.cpp.
References osg::FieldBits::AllFields, osg::beginEditCP(), osg::Node::CoreFieldMask, osg::SimpleMaterialBase::create(), osg::GeoProperty< GeoPropertyDesc >::create(), osg::GeometryBase::create(), osg::Node::create(), osg::VectorInterface< ValueTypeT, StorageInterfaceT >::crossThis(), osg::endEditCP(), osg::VectorInterface< ValueTypeT, StorageInterfaceT >::normalize(), and SNOTICE.
00125 { 00126 NodePtr root; 00127 GeometryPtr geo; 00128 GeoPositions3f::PtrType points; 00129 GeoNormals3f::PtrType normals; 00130 GeoIndicesUI32Ptr index; 00131 GeoPLengthsUI32Ptr lens; 00132 GeoPTypesUI8Ptr type; 00133 Vec3f vec[3]; 00134 UInt32 i = 0, n, triCount = 0; 00135 Real32 x,y,z; 00136 00137 fprintf(stderr, "Loading using Loader 0\n"); 00138 00139 if(is) 00140 { 00141 root = Node::create(); 00142 geo = Geometry::create(); 00143 00144 beginEditCP(geo, FieldBits::AllFields); 00145 beginEditCP(root, Node::CoreFieldMask); 00146 root->setCore( geo ); 00147 endEditCP(root, Node::CoreFieldMask); 00148 00149 points = GeoPositions3f::create(); 00150 geo->setPositions( points ); 00151 normals = GeoNormals3f::create(); 00152 geo->setNormals ( normals ); 00153 00154 triCount = i = 0; 00155 00156 beginEditCP(points, FieldBits::AllFields); 00157 beginEditCP(normals, FieldBits::AllFields); 00158 00159 while (1) { 00160 is >> x >> y >> z; 00161 if (is.eof()) 00162 break; 00163 else { 00164 points->getFieldPtr()->push_back( Pnt3f ( x, y, z) ); 00165 vec[i].setValues(x,y,z); 00166 if (i == 2) { 00167 vec[0] -= vec[1]; 00168 vec[1] -= vec[2]; 00169 vec[0].crossThis(vec[1]); 00170 vec[0].normalize(); 00171 00172 normals->getFieldPtr()->push_back ( vec[0] ); 00173 normals->getFieldPtr()->push_back ( vec[0] ); 00174 normals->getFieldPtr()->push_back ( vec[0] ); 00175 00176 i = 0; 00177 triCount++; 00178 } 00179 else 00180 i++; 00181 } 00182 } 00183 00184 endEditCP(points, FieldBits::AllFields); 00185 endEditCP(normals, FieldBits::AllFields); 00186 00187 if (triCount) 00188 { 00189 00190 index = GeoIndicesUI32::create(); 00191 geo->setIndices( index ); 00192 beginEditCP(index, FieldBits::AllFields); 00193 n = triCount * 3; 00194 for (i = 0; i < n; i++) 00195 index->getFieldPtr()->push_back( i ); 00196 endEditCP(index, FieldBits::AllFields); 00197 00198 00199 lens = GeoPLengthsUI32::create(); 00200 geo->setLengths( lens ); 00201 beginEditCP(lens, FieldBits::AllFields); 00202 lens->push_back( n ); 00203 endEditCP(lens, FieldBits::AllFields); 00204 00205 type = GeoPTypesUI8::create(); 00206 geo->setTypes( type ); 00207 beginEditCP(type, FieldBits::AllFields); 00208 type->push_back( GL_TRIANGLES ); 00209 endEditCP(type, FieldBits::AllFields); 00210 } 00211 00212 SimpleMaterialPtr mat = SimpleMaterial::create(); 00213 beginEditCP(mat, FieldBits::AllFields); 00214 mat->setDiffuse( Color3f( .8, .8, .8 ) ); 00215 mat->setSpecular( Color3f( 1, 1, 1 ) ); 00216 mat->setShininess( 20 ); 00217 endEditCP(mat, FieldBits::AllFields); 00218 00219 geo->setMaterial( mat ); 00220 endEditCP(geo, FieldBits::AllFields); 00221 } 00222 00223 if (triCount) 00224 SNOTICE << triCount << " triangle read " << std::endl; 00225 00226 return root; 00227 }
| void osg::RAWSceneFileType::operator= | ( | const RAWSceneFileType & | source | ) | [private] |
| void SceneFileType::setOptions | ( | const Char8 * | options | ) | [inherited] |
Definition at line 115 of file OSGSceneFileType.cpp.
References osg::SceneFileType::_options.
Referenced by osg::SceneFileHandler::setOptions().
00116 { 00117 _options = options; 00118 }
| std::list< IDString > & SceneFileType::suffixList | ( | void | ) | [virtual, inherited] |
Definition at line 138 of file OSGSceneFileType.cpp.
References osg::SceneFileType::_suffixList.
Referenced by osg::SceneFileHandler::addSceneFileType(), and osg::SceneFileHandler::subSceneFileType().
00139 { 00140 return _suffixList; 00141 }
| bool SceneFileType::doOverride | ( | void | ) | [inherited] |
Definition at line 145 of file OSGSceneFileType.cpp.
References osg::SceneFileType::_override.
Referenced by osg::SceneFileHandler::addSceneFileType(), and osg::SceneFileHandler::FindOverride::operator()().
00146 { 00147 return _override; 00148 }
| UInt32 SceneFileType::getOverridePriority | ( | void | ) | [inherited] |
Definition at line 152 of file OSGSceneFileType.cpp.
References osg::SceneFileType::_overridePriority.
Referenced by osg::SceneFileHandler::addSceneFileType(), and osg::SceneFileHandler::FindOverride::operator()().
00153 { 00154 return _overridePriority; 00155 }
| UInt32 SceneFileType::getFlags | ( | void | ) | [inherited] |
Definition at line 159 of file OSGSceneFileType.cpp.
References osg::SceneFileType::_flags.
Referenced by osg::SceneFileHandler::getSuffixList(), and osg::SceneFileHandler::print().
00160 { 00161 return _flags; 00162 }
| const Char8 * SceneFileType::getOptions | ( | void | ) | [inherited] |
Definition at line 166 of file OSGSceneFileType.cpp.
References osg::SceneFileType::_options.
Referenced by osg::SceneFileHandler::getOptions().
00167 { 00168 return _options.c_str(); 00169 }
Definition at line 181 of file OSGSceneFileType.cpp.
References FWARNING, and osg::NullFC.
Referenced by osg::SceneFileHandler::read().
| bool SceneFileType::write | ( | const NodePtr & | node, | |
| std::ostream & | os, | |||
| const Char8 * | fileNameOrExtension | |||
| ) | const [virtual, inherited] |
Reimplemented in osg::BINSceneFileType, osg::OBJSceneFileType, osg::OSGSceneFileType, and osg::VRMLSceneFileType.
Definition at line 188 of file OSGSceneFileType.cpp.
References FWARNING.
Referenced by osg::SceneFileHandler::write().
00191 { 00192 FWARNING (("STREAM INTERFACE NOT IMPLEMENTED!\n")); 00193 return false; 00194 }
| bool SceneFileType::writeFile | ( | const NodePtr & | node, | |
| const Char8 * | fileName | |||
| ) | const [virtual, inherited] |
Definition at line 197 of file OSGSceneFileType.cpp.
References FWARNING.
Referenced by osg::SceneFileHandler::write().
00199 { 00200 FWARNING (("FILE INTERFACE NOT IMPLEMENTED!\n")); 00201 return false; 00202 }
| void SceneFileType::print | ( | void | ) | [inherited] |
Definition at line 121 of file OSGSceneFileType.cpp.
References osg::SceneFileType::_suffixList, osg::SceneFileType::getName(), osg::LOG_DEBUG, osg::osgLog(), and osg::Log::stream().
00122 { 00123 std::list<IDString>::iterator sI; 00124 00125 osgLog() << getName(); 00126 00127 if (_suffixList.empty()) 00128 osgLog() << "NONE"; 00129 else 00130 for (sI = _suffixList.begin(); sI != _suffixList.end(); sI++) 00131 osgLog().stream(OSG::LOG_DEBUG) << sI->str() << " "; 00132 00133 osgLog() << std::endl; 00134 }
const Char8 * RAWSceneFileType::_suffixA = {"raw"} [static, protected] |
Definition at line 95 of file OSGRAWSceneFileType.h.
RAWSceneFileType RAWSceneFileType::_the [static, protected] |
std::list<IDString> osg::SceneFileType::_suffixList [protected, inherited] |
Definition at line 152 of file OSGSceneFileType.h.
Referenced by osg::SceneFileType::print(), osg::SceneFileType::SceneFileType(), and osg::SceneFileType::suffixList().
bool osg::SceneFileType::_override [protected, inherited] |
UInt32 osg::SceneFileType::_overridePriority [protected, inherited] |
Definition at line 155 of file OSGSceneFileType.h.
Referenced by osg::SceneFileType::getOverridePriority().
UInt32 osg::SceneFileType::_flags [protected, inherited] |
std::string osg::SceneFileType::_options [protected, inherited] |
Definition at line 158 of file OSGSceneFileType.h.
Referenced by osg::SceneFileType::getOptions(), osg::SceneFileType::setOptions(), and osg::VRMLSceneFileType::write().
1.5.5