]> git.lizzy.rs Git - irrlicht.git/blobdiff - include/ISceneNode.h
Replace HWBufferMap with a list and back pointers (#99)
[irrlicht.git] / include / ISceneNode.h
index 63d1566ba7fff2cf854fac61608363e550a16715..3f50c6e965ec5a4358b3e1abb6644e201f142b75 100644 (file)
@@ -5,7 +5,7 @@
 #ifndef __I_SCENE_NODE_H_INCLUDED__\r
 #define __I_SCENE_NODE_H_INCLUDED__\r
 \r
-#include "IAttributeExchangingObject.h"\r
+#include "IReferenceCounted.h"\r
 #include "ESceneNodeTypes.h"\r
 #include "ECullingTypes.h"\r
 #include "EDebugSceneTypes.h"\r
@@ -34,7 +34,7 @@ namespace scene
        example easily possible to attach a light to a moving car, or to place\r
        a walking character on a moving platform on a moving ship.\r
        */\r
-       class ISceneNode : virtual public io::IAttributeExchangingObject\r
+       class ISceneNode : virtual public IReferenceCounted\r
        {\r
        public:\r
 \r
@@ -571,67 +571,6 @@ namespace scene
                        return ESNT_UNKNOWN;\r
                }\r
 \r
-\r
-               //! Writes attributes of the scene node.\r
-               /** Implement this to expose the attributes of your scene node\r
-               for scripting languages, editors, debuggers or xml\r
-               serialization purposes.\r
-               \param out The attribute container to write into.\r
-               \param options Additional options which might influence the\r
-               serialization. */\r
-               virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const _IRR_OVERRIDE_\r
-               {\r
-                       if (!out)\r
-                               return;\r
-                       out->addString("Name", Name.c_str());\r
-                       out->addInt("Id", ID );\r
-\r
-                       out->addVector3d("Position", getPosition() );\r
-                       out->addVector3d("Rotation", getRotation() );\r
-                       out->addVector3d("Scale", getScale() );\r
-\r
-                       out->addBool("Visible", IsVisible );\r
-                       out->addInt("AutomaticCulling", AutomaticCullingState);\r
-                       out->addInt("DebugDataVisible", DebugDataVisible );\r
-                       out->addBool("IsDebugObject", IsDebugObject );\r
-               }\r
-\r
-\r
-               //! Reads attributes of the scene node.\r
-               /** Implement this to set the attributes of your scene node for\r
-               scripting languages, editors, debuggers or xml deserialization\r
-               purposes.\r
-               \param in The attribute container to read from.\r
-               \param options Additional options which might influence the\r
-               deserialization. */\r
-               virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) _IRR_OVERRIDE_\r
-               {\r
-                       if (!in)\r
-                               return;\r
-                       Name = in->getAttributeAsString("Name", Name);\r
-                       ID = in->getAttributeAsInt("Id", ID);\r
-\r
-                       setPosition(in->getAttributeAsVector3d("Position", RelativeTranslation));\r
-                       setRotation(in->getAttributeAsVector3d("Rotation", RelativeRotation));\r
-                       setScale(in->getAttributeAsVector3d("Scale", RelativeScale));\r
-\r
-                       IsVisible = in->getAttributeAsBool("Visible", IsVisible);\r
-                       if (in->existsAttribute("AutomaticCulling"))\r
-                       {\r
-                               s32 tmpState = in->getAttributeAsEnumeration("AutomaticCulling",\r
-                                               scene::AutomaticCullingNames);\r
-                               if (tmpState != -1)\r
-                                       AutomaticCullingState = (u32)tmpState;\r
-                               else\r
-                                       AutomaticCullingState = in->getAttributeAsInt("AutomaticCulling");\r
-                       }\r
-\r
-                       DebugDataVisible = in->getAttributeAsInt("DebugDataVisible", DebugDataVisible);\r
-                       IsDebugObject = in->getAttributeAsBool("IsDebugObject", IsDebugObject);\r
-\r
-                       updateAbsolutePosition();\r
-               }\r
-\r
                //! Creates a clone of this scene node and its children.\r
                /** \param newParent An optional new parent.\r
                \param newManager An optional new scene manager.\r