00001
00002
00003
00004
00005
00006
00007 #ifndef _SO_SEPARATOR_WRAPPER_H_
00008 #define _SO_SEPARATOR_WRAPPER_H_
00009
00010 #include <Inventor/nodes/SoSeparator.h>
00011 #include <Physsim/Base.h>
00012
00013
00014 #include <iostream>
00015
00016 class SoSeparator;
00017
00018 namespace Physsim {
00019
00021 class SoSeparatorWrapper : public Base
00022 {
00023 public:
00024 SoSeparatorWrapper() { _separator = new SoSeparator; _separator->ref(); }
00025 SoSeparatorWrapper(SoNode* n) { _separator = new SoSeparator; _separator->addChild(n); _separator->ref(); }
00026 SoSeparatorWrapper(const std::string& filename);
00027 ~SoSeparatorWrapper() { _separator->unref(); }
00028 virtual void load_from_xml(XMLTreeConstPtr node, std::map<std::string, BasePtr>& id_map);
00029
00030 virtual void save_to_xml(XMLTreePtr node, std::list<BaseConstPtr>& shared_objects) const;
00031 SoSeparator* get_separator() { return _separator; }
00032
00033 private:
00034 SoSeparator* _separator;
00035 };
00036
00037 }
00038
00039 #endif
00040