00001
00002
00003 #ifndef __SHAPE_H
00004 #define __SHAPE_H
00005
00006 #include <esg/Definitions.h>
00007 #include <esg/Leaf.h>
00008 #include <esg/visitor/Visitor.h>
00009 #include <esg/AutoPtr.h>
00010
00011 namespace esg {
00012
00018 class OGSCENE_EXPORT Shape : public Leaf {
00019 protected:
00020 AutoPtr<EnergyCoat>* _pEnergy;
00021
00022 public:
00029 Shape (OID oid = 0, const char * name = "")
00030 : Leaf(oid, name), _pEnergy(NULL) {}
00031
00035 virtual ~Shape();
00036
00042 virtual bool supportsEnergy (void) { return true; }
00043
00044 virtual AutoPtr<EnergyCoat>* getEnergyState (void) { return _pEnergy; }
00045 virtual void setEnergyState (AutoPtr<EnergyCoat>*);
00046
00047
00048
00049 virtual void __debug () {
00050 fprintf(stderr,"Shape <%s>:\n", _name);
00051 }
00052 };
00053
00054 };
00055
00056 #endif // __SHAPE_H