-\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