From 7028cbe09c688437910a25623098762bf0fa592d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 28 Mar 2016 22:28:34 +1000 Subject: Move Irrlicht to src/others. --- .../doc/html/_i_scene_manager_8h_source.html | 659 +++++++++++++++++++++ 1 file changed, 659 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/doc/html/_i_scene_manager_8h_source.html (limited to 'src/others/irrlicht-1.8.1/doc/html/_i_scene_manager_8h_source.html') diff --git a/src/others/irrlicht-1.8.1/doc/html/_i_scene_manager_8h_source.html b/src/others/irrlicht-1.8.1/doc/html/_i_scene_manager_8h_source.html new file mode 100644 index 0000000..2f071d0 --- /dev/null +++ b/src/others/irrlicht-1.8.1/doc/html/_i_scene_manager_8h_source.html @@ -0,0 +1,659 @@ + + +
+ +00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt +00002 // This file is part of the "Irrlicht Engine". +00003 // For conditions of distribution and use, see copyright notice in irrlicht.h +00004 +00005 #ifndef __I_SCENE_MANAGER_H_INCLUDED__ +00006 #define __I_SCENE_MANAGER_H_INCLUDED__ +00007 +00008 #include "IReferenceCounted.h" +00009 #include "irrArray.h" +00010 #include "irrString.h" +00011 #include "path.h" +00012 #include "vector3d.h" +00013 #include "dimension2d.h" +00014 #include "SColor.h" +00015 #include "ETerrainElements.h" +00016 #include "ESceneNodeTypes.h" +00017 #include "ESceneNodeAnimatorTypes.h" +00018 #include "EMeshWriterEnums.h" +00019 #include "SceneParameters.h" +00020 #include "IGeometryCreator.h" +00021 #include "ISkinnedMesh.h" +00022 +00023 namespace irr +00024 { +00025 struct SKeyMap; +00026 struct SEvent; +00027 +00028 namespace io +00029 { +00030 class IReadFile; +00031 class IAttributes; +00032 class IWriteFile; +00033 class IFileSystem; +00034 } // end namespace io +00035 +00036 namespace gui +00037 { +00038 class IGUIFont; +00039 class IGUIEnvironment; +00040 } // end namespace gui +00041 +00042 namespace video +00043 { +00044 class IVideoDriver; +00045 class SMaterial; +00046 class IImage; +00047 class ITexture; +00048 } // end namespace video +00049 +00050 namespace scene +00051 { +00053 +00055 enum E_SCENE_NODE_RENDER_PASS +00056 { +00058 ESNRP_NONE =0, +00059 +00061 ESNRP_CAMERA =1, +00062 +00064 ESNRP_LIGHT =2, +00065 +00067 ESNRP_SKY_BOX =4, +00068 +00070 +00082 ESNRP_AUTOMATIC =24, +00083 +00085 ESNRP_SOLID =8, +00086 +00088 ESNRP_TRANSPARENT =16, +00089 +00091 ESNRP_TRANSPARENT_EFFECT =32, +00092 +00094 ESNRP_SHADOW =64 +00095 }; +00096 +00097 class IAnimatedMesh; +00098 class IAnimatedMeshSceneNode; +00099 class IBillboardSceneNode; +00100 class IBillboardTextSceneNode; +00101 class ICameraSceneNode; +00102 class IDummyTransformationSceneNode; +00103 class ILightManager; +00104 class ILightSceneNode; +00105 class IMesh; +00106 class IMeshBuffer; +00107 class IMeshCache; +00108 class IMeshLoader; +00109 class IMeshManipulator; +00110 class IMeshSceneNode; +00111 class IMeshWriter; +00112 class IMetaTriangleSelector; +00113 class IParticleSystemSceneNode; +00114 class ISceneCollisionManager; +00115 class ISceneLoader; +00116 class ISceneNode; +00117 class ISceneNodeAnimator; +00118 class ISceneNodeAnimatorCollisionResponse; +00119 class ISceneNodeAnimatorFactory; +00120 class ISceneNodeFactory; +00121 class ISceneUserDataSerializer; +00122 class ITerrainSceneNode; +00123 class ITextSceneNode; +00124 class ITriangleSelector; +00125 class IVolumeLightSceneNode; +00126 +00127 namespace quake3 +00128 { +00129 struct IShader; +00130 } // end namespace quake3 +00131 +00133 +00150 class ISceneManager : public virtual IReferenceCounted +00151 { +00152 public: +00153 +00155 +00399 virtual IAnimatedMesh* getMesh(const io::path& filename) = 0; +00400 +00402 +00408 virtual IAnimatedMesh* getMesh(io::IReadFile* file) = 0; +00409 +00411 +00414 virtual IMeshCache* getMeshCache() = 0; +00415 +00417 +00419 virtual video::IVideoDriver* getVideoDriver() = 0; +00420 +00422 +00424 virtual gui::IGUIEnvironment* getGUIEnvironment() = 0; +00425 +00427 +00429 virtual io::IFileSystem* getFileSystem() = 0; +00430 +00432 +00445 virtual IVolumeLightSceneNode* addVolumeLightSceneNode(ISceneNode* parent=0, s32 id=-1, +00446 const u32 subdivU = 32, const u32 subdivV = 32, +00447 const video::SColor foot = video::SColor(51, 0, 230, 180), +00448 const video::SColor tail = video::SColor(0, 0, 0, 0), +00449 const core::vector3df& position = core::vector3df(0,0,0), +00450 const core::vector3df& rotation = core::vector3df(0,0,0), +00451 const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0; +00452 +00454 +00464 virtual IMeshSceneNode* addCubeSceneNode(f32 size=10.0f, ISceneNode* parent=0, s32 id=-1, +00465 const core::vector3df& position = core::vector3df(0,0,0), +00466 const core::vector3df& rotation = core::vector3df(0,0,0), +00467 const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0; +00468 +00470 +00484 virtual IMeshSceneNode* addSphereSceneNode(f32 radius=5.0f, s32 polyCount=16, +00485 ISceneNode* parent=0, s32 id=-1, +00486 const core::vector3df& position = core::vector3df(0,0,0), +00487 const core::vector3df& rotation = core::vector3df(0,0,0), +00488 const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0; +00489 +00491 +00501 virtual IAnimatedMeshSceneNode* addAnimatedMeshSceneNode(IAnimatedMesh* mesh, +00502 ISceneNode* parent=0, s32 id=-1, +00503 const core::vector3df& position = core::vector3df(0,0,0), +00504 const core::vector3df& rotation = core::vector3df(0,0,0), +00505 const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f), +00506 bool alsoAddIfMeshPointerZero=false) = 0; +00507 +00509 +00519 virtual IMeshSceneNode* addMeshSceneNode(IMesh* mesh, ISceneNode* parent=0, s32 id=-1, +00520 const core::vector3df& position = core::vector3df(0,0,0), +00521 const core::vector3df& rotation = core::vector3df(0,0,0), +00522 const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f), +00523 bool alsoAddIfMeshPointerZero=false) = 0; +00524 +00526 +00540 virtual ISceneNode* addWaterSurfaceSceneNode(IMesh* mesh, +00541 f32 waveHeight=2.0f, f32 waveSpeed=300.0f, f32 waveLength=10.0f, +00542 ISceneNode* parent=0, s32 id=-1, +00543 const core::vector3df& position = core::vector3df(0,0,0), +00544 const core::vector3df& rotation = core::vector3df(0,0,0), +00545 const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0; +00546 +00547 +00549 +00561 virtual IMeshSceneNode* addOctreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0, +00562 s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false) = 0; +00563 +00565 +00566 _IRR_DEPRECATED_ IMeshSceneNode* addOctTreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0, +00567 s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false) +00568 { +00569 return addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero); +00570 } +00571 +00573 +00585 virtual IMeshSceneNode* addOctreeSceneNode(IMesh* mesh, ISceneNode* parent=0, +00586 s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0; +00587 +00589 +00590 _IRR_DEPRECATED_ IMeshSceneNode* addOctTreeSceneNode(IMesh* mesh, ISceneNode* parent=0, +00591 s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) +00592 { +00593 return addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero); +00594 } +00595 +00597 +00613 virtual ICameraSceneNode* addCameraSceneNode(ISceneNode* parent = 0, +00614 const core::vector3df& position = core::vector3df(0,0,0), +00615 const core::vector3df& lookat = core::vector3df(0,0,100), +00616 s32 id=-1, bool makeActive=true) = 0; +00617 +00619 +00635 virtual ICameraSceneNode* addCameraSceneNodeMaya(ISceneNode* parent=0, +00636 f32 rotateSpeed=-1500.f, f32 zoomSpeed=200.f, +00637 f32 translationSpeed=1500.f, s32 id=-1, f32 distance=70.f, +00638 bool makeActive=true) =0; +00639 +00641 +00704 virtual ICameraSceneNode* addCameraSceneNodeFPS(ISceneNode* parent = 0, +00705 f32 rotateSpeed = 100.0f, f32 moveSpeed = 0.5f, s32 id=-1, +00706 SKeyMap* keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false, +00707 f32 jumpSpeed = 0.f, bool invertMouse=false, +00708 bool makeActive=true) = 0; +00709 +00711 +00723 virtual ILightSceneNode* addLightSceneNode(ISceneNode* parent = 0, +00724 const core::vector3df& position = core::vector3df(0,0,0), +00725 video::SColorf color = video::SColorf(1.0f, 1.0f, 1.0f), +00726 f32 radius=100.0f, s32 id=-1) = 0; +00727 +00729 +00747 virtual IBillboardSceneNode* addBillboardSceneNode(ISceneNode* parent = 0, +00748 const core::dimension2d<f32>& size = core::dimension2d<f32>(10.0f, 10.0f), +00749 const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1, +00750 video::SColor colorTop = 0xFFFFFFFF, video::SColor colorBottom = 0xFFFFFFFF) = 0; +00751 +00753 +00767 virtual ISceneNode* addSkyBoxSceneNode(video::ITexture* top, video::ITexture* bottom, +00768 video::ITexture* left, video::ITexture* right, video::ITexture* front, +00769 video::ITexture* back, ISceneNode* parent = 0, s32 id=-1) = 0; +00770 +00772 +00789 virtual ISceneNode* addSkyDomeSceneNode(video::ITexture* texture, +00790 u32 horiRes=16, u32 vertRes=8, +00791 f32 texturePercentage=0.9, f32 spherePercentage=2.0,f32 radius = 1000.f, +00792 ISceneNode* parent=0, s32 id=-1) = 0; +00793 +00795 +00807 virtual IParticleSystemSceneNode* addParticleSystemSceneNode( +00808 bool withDefaultEmitter=true, ISceneNode* parent=0, s32 id=-1, +00809 const core::vector3df& position = core::vector3df(0,0,0), +00810 const core::vector3df& rotation = core::vector3df(0,0,0), +00811 const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0; +00812 +00814 +00869 virtual ITerrainSceneNode* addTerrainSceneNode( +00870 const io::path& heightMapFileName, +00871 ISceneNode* parent=0, s32 id=-1, +00872 const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f), +00873 const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f), +00874 const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f), +00875 video::SColor vertexColor = video::SColor(255,255,255,255), +00876 s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0, +00877 bool addAlsoIfHeightmapEmpty = false) = 0; +00878 +00880 +00907 virtual ITerrainSceneNode* addTerrainSceneNode( +00908 io::IReadFile* heightMapFile, +00909 ISceneNode* parent=0, s32 id=-1, +00910 const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f), +00911 const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f), +00912 const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f), +00913 video::SColor vertexColor = video::SColor(255,255,255,255), +00914 s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0, +00915 bool addAlsoIfHeightmapEmpty = false) = 0; +00916 +00918 +00921 virtual IMeshSceneNode* addQuake3SceneNode(const IMeshBuffer* meshBuffer, const quake3::IShader * shader, +00922 ISceneNode* parent=0, s32 id=-1 +00923 ) = 0; +00924 +00925 +00927 +00931 virtual ISceneNode* addEmptySceneNode(ISceneNode* parent=0, s32 id=-1) = 0; +00932 +00934 +00940 virtual IDummyTransformationSceneNode* addDummyTransformationSceneNode( +00941 ISceneNode* parent=0, s32 id=-1) = 0; +00942 +00944 virtual ITextSceneNode* addTextSceneNode(gui::IGUIFont* font, const wchar_t* text, +00945 video::SColor color=video::SColor(100,255,255,255), +00946 ISceneNode* parent = 0, const core::vector3df& position = core::vector3df(0,0,0), +00947 s32 id=-1) = 0; +00948 +00950 +00961 virtual IBillboardTextSceneNode* addBillboardTextSceneNode( gui::IGUIFont* font, const wchar_t* text, +00962 ISceneNode* parent = 0, +00963 const core::dimension2d<f32>& size = core::dimension2d<f32>(10.0f, 10.0f), +00964 const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1, +00965 video::SColor colorTop = 0xFFFFFFFF, video::SColor colorBottom = 0xFFFFFFFF) = 0; +00966 +00968 +00994 virtual IAnimatedMesh* addHillPlaneMesh(const io::path& name, +00995 const core::dimension2d<f32>& tileSize, const core::dimension2d<u32>& tileCount, +00996 video::SMaterial* material = 0, f32 hillHeight = 0.0f, +00997 const core::dimension2d<f32>& countHills = core::dimension2d<f32>(0.0f, 0.0f), +00998 const core::dimension2d<f32>& textureRepeatCount = core::dimension2d<f32>(1.0f, 1.0f)) = 0; +00999 +01001 +01023 virtual IAnimatedMesh* addTerrainMesh(const io::path& meshname, +01024 video::IImage* texture, video::IImage* heightmap, +01025 const core::dimension2d<f32>& stretchSize = core::dimension2d<f32>(10.0f,10.0f), +01026 f32 maxHeight=200.0f, +01027 const core::dimension2d<u32>& defaultVertexBlockSize = core::dimension2d<u32>(64,64)) = 0; +01028 +01030 +01041 virtual IAnimatedMesh* addArrowMesh(const io::path& name, +01042 video::SColor vtxColorCylinder=0xFFFFFFFF, +01043 video::SColor vtxColorCone=0xFFFFFFFF, +01044 u32 tesselationCylinder=4, u32 tesselationCone=8, +01045 f32 height=1.f, f32 cylinderHeight=0.6f, +01046 f32 widthCylinder=0.05f, f32 widthCone=0.3f) = 0; +01047 +01049 +01055 virtual IAnimatedMesh* addSphereMesh(const io::path& name, +01056 f32 radius=5.f, u32 polyCountX = 16, +01057 u32 polyCountY = 16) = 0; +01058 +01060 +01068 virtual IAnimatedMesh* addVolumeLightMesh(const io::path& name, +01069 const u32 SubdivideU = 32, const u32 SubdivideV = 32, +01070 const video::SColor FootColor = video::SColor(51, 0, 230, 180), +01071 const video::SColor TailColor = video::SColor(0, 0, 0, 0)) = 0; +01072 +01074 +01080 virtual ISceneNode* getRootSceneNode() = 0; +01081 +01083 +01090 virtual ISceneNode* getSceneNodeFromId(s32 id, ISceneNode* start=0) = 0; +01091 +01093 +01100 virtual ISceneNode* getSceneNodeFromName(const c8* name, ISceneNode* start=0) = 0; +01101 +01103 +01110 virtual ISceneNode* getSceneNodeFromType(scene::ESCENE_NODE_TYPE type, ISceneNode* start=0) = 0; +01111 +01113 +01118 virtual void getSceneNodesFromType(ESCENE_NODE_TYPE type, +01119 core::array<scene::ISceneNode*>& outNodes, +01120 ISceneNode* start=0) = 0; +01121 +01123 +01126 virtual ICameraSceneNode* getActiveCamera() const =0; +01127 +01129 +01131 virtual void setActiveCamera(ICameraSceneNode* camera) = 0; +01132 +01134 virtual void setShadowColor(video::SColor color = video::SColor(150,0,0,0)) = 0; +01135 +01137 virtual video::SColor getShadowColor() const = 0; +01138 +01140 +01148 virtual u32 registerNodeForRendering(ISceneNode* node, +01149 E_SCENE_NODE_RENDER_PASS pass = ESNRP_AUTOMATIC) = 0; +01150 +01152 +01156 virtual void drawAll() = 0; +01157 +01159 +01164 virtual ISceneNodeAnimator* createRotationAnimator(const core::vector3df& rotationSpeed) = 0; +01165 +01167 +01179 virtual ISceneNodeAnimator* createFlyCircleAnimator( +01180 const core::vector3df& center=core::vector3df(0.f,0.f,0.f), +01181 f32 radius=100.f, f32 speed=0.001f, +01182 const core::vector3df& direction=core::vector3df(0.f, 1.f, 0.f), +01183 f32 startPosition = 0.f, +01184 f32 radiusEllipsoid = 0.f) = 0; +01185 +01187 +01199 virtual ISceneNodeAnimator* createFlyStraightAnimator(const core::vector3df& startPoint, +01200 const core::vector3df& endPoint, u32 timeForWay, bool loop=false, bool pingpong = false) = 0; +01201 +01203 +01212 virtual ISceneNodeAnimator* createTextureAnimator(const core::array<video::ITexture*>& textures, +01213 s32 timePerFrame, bool loop=true) = 0; +01214 +01216 +01221 virtual ISceneNodeAnimator* createDeleteAnimator(u32 timeMs) = 0; +01222 +01224 +01254 virtual ISceneNodeAnimatorCollisionResponse* createCollisionResponseAnimator( +01255 ITriangleSelector* world, ISceneNode* sceneNode, +01256 const core::vector3df& ellipsoidRadius = core::vector3df(30,60,30), +01257 const core::vector3df& gravityPerSecond = core::vector3df(0,-10.0f,0), +01258 const core::vector3df& ellipsoidTranslation = core::vector3df(0,0,0), +01259 f32 slidingValue = 0.0005f) = 0; +01260 +01262 +01270 virtual ISceneNodeAnimator* createFollowSplineAnimator(s32 startTime, +01271 const core::array< core::vector3df >& points, +01272 f32 speed = 1.0f, f32 tightness = 0.5f, bool loop=true, bool pingpong=false) = 0; +01273 +01275 +01293 virtual ITriangleSelector* createTriangleSelector(IMesh* mesh, ISceneNode* node) = 0; +01294 +01296 +01301 virtual ITriangleSelector* createTriangleSelector(IAnimatedMeshSceneNode* node) = 0; +01302 +01303 +01305 +01313 virtual ITriangleSelector* createTriangleSelectorFromBoundingBox(ISceneNode* node) = 0; +01314 +01316 +01338 virtual ITriangleSelector* createOctreeTriangleSelector(IMesh* mesh, +01339 ISceneNode* node, s32 minimalPolysPerNode=32) = 0; +01340 +01342 +01343 _IRR_DEPRECATED_ ITriangleSelector* createOctTreeTriangleSelector(IMesh* mesh, +01344 ISceneNode* node, s32 minimalPolysPerNode=32) +01345 { +01346 return createOctreeTriangleSelector(mesh, node, minimalPolysPerNode); +01347 } +01348 +01350 +01357 virtual IMetaTriangleSelector* createMetaTriangleSelector() = 0; +01358 +01360 +01365 virtual ITriangleSelector* createTerrainTriangleSelector( +01366 ITerrainSceneNode* node, s32 LOD=0) = 0; +01367 +01369 +01375 virtual void addExternalMeshLoader(IMeshLoader* externalLoader) = 0; +01376 +01378 virtual u32 getMeshLoaderCount() const = 0; +01379 +01381 +01384 virtual IMeshLoader* getMeshLoader(u32 index) const = 0; +01385 +01387 +01393 virtual void addExternalSceneLoader(ISceneLoader* externalLoader) = 0; +01394 +01396 virtual u32 getSceneLoaderCount() const = 0; +01397 +01399 +01402 virtual ISceneLoader* getSceneLoader(u32 index) const = 0; +01403 +01405 +01407 virtual ISceneCollisionManager* getSceneCollisionManager() = 0; +01408 +01410 +01412 virtual IMeshManipulator* getMeshManipulator() = 0; +01413 +01415 +01423 virtual void addToDeletionQueue(ISceneNode* node) = 0; +01424 +01426 +01428 virtual bool postEventFromUser(const SEvent& event) = 0; +01429 +01431 +01432 virtual void clear() = 0; +01433 +01435 +01440 virtual io::IAttributes* getParameters() = 0; +01441 +01443 +01449 virtual E_SCENE_NODE_RENDER_PASS getSceneNodeRenderPass() const = 0; +01450 +01452 +01454 virtual ISceneNodeFactory* getDefaultSceneNodeFactory() = 0; +01455 +01457 +01459 virtual void registerSceneNodeFactory(ISceneNodeFactory* factoryToAdd) = 0; +01460 +01462 virtual u32 getRegisteredSceneNodeFactoryCount() const = 0; +01463 +01465 +01467 virtual ISceneNodeFactory* getSceneNodeFactory(u32 index) = 0; +01468 +01470 +01472 virtual ISceneNodeAnimatorFactory* getDefaultSceneNodeAnimatorFactory() = 0; +01473 +01475 +01477 virtual void registerSceneNodeAnimatorFactory(ISceneNodeAnimatorFactory* factoryToAdd) = 0; +01478 +01480 virtual u32 getRegisteredSceneNodeAnimatorFactoryCount() const = 0; +01481 +01483 +01485 virtual ISceneNodeAnimatorFactory* getSceneNodeAnimatorFactory(u32 index) = 0; +01486 +01488 virtual const c8* getSceneNodeTypeName(ESCENE_NODE_TYPE type) = 0; +01489 +01491 virtual const c8* getAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type) = 0; +01492 +01494 +01496 virtual ISceneNode* addSceneNode(const char* sceneNodeTypeName, ISceneNode* parent=0) = 0; +01497 +01499 +01503 virtual ISceneNodeAnimator* createSceneNodeAnimator(const char* typeName, ISceneNode* target=0) = 0; +01504 +01506 +01524 virtual ISceneManager* createNewSceneManager(bool cloneContent=false) = 0; +01525 +01527 +01542 virtual bool saveScene(const io::path& filename, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0; +01543 +01545 +01560 virtual bool saveScene(io::IWriteFile* file, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0; +01561 +01563 +01580 virtual bool saveScene(io::IXMLWriter* writer, const io::path& currentPath, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0; +01581 +01583 +01599 virtual bool loadScene(const io::path& filename, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* rootNode=0) = 0; +01600 +01602 +01618 virtual bool loadScene(io::IReadFile* file, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* rootNode=0) = 0; +01619 +01621 +01623 virtual IMeshWriter* createMeshWriter(EMESH_WRITER_TYPE type) = 0; +01624 +01626 +01628 virtual ISkinnedMesh* createSkinnedMesh() = 0; +01629 +01631 virtual void setAmbientLight(const video::SColorf &ambientColor) = 0; +01632 +01634 virtual const video::SColorf& getAmbientLight() const = 0; +01635 +01637 +01639 virtual void setLightManager(ILightManager* lightManager) = 0; +01640 +01642 +01644 virtual const IGeometryCreator* getGeometryCreator(void) const = 0; +01645 +01647 +01655 virtual bool isCulled(const ISceneNode* node) const =0; +01656 }; +01657 +01658 +01659 } // end namespace scene +01660 } // end namespace irr +01661 +01662 #endif +01663 +