// OSU Inventor classes #ifndef _OSU_INVENTOR_H_ #define _OSU_INVENTOR_H_ #include #include #include #include #include #include #include #include #include #include #include #include class TextureType { int typeNum; }; class OSUObjectData { public: OSUObjectData(); // constructor ~OSUObjectData(); // destructor bool Check() const; // return true if data is OK // basic information SoNode *shape; // The actual OpenInventor shape SoTransform *transformation; // object to world transformation SoMaterial *material; // object material // more information SoNode *points; // SoCoordinate2, SoCoordinate3 or SoCoordinate4 SoTextureCoordinate2 *texture_points; // texture points SoTexture2 *texture; // texture mapping node, for 2D textures. TextureType *texture_type; // id for parametric textures SoComplexity *complexity; SoDrawStyle *draw_style; SoNormal *normals; // stored normals. }; class OSUInventorScene { public: OSUInventorScene(char *filename); SbPList Objects; // list of OSUObjectData SbPList Lights; // list of SoLights SoCamera *Camera; // scene camera }; #endif