#pragma once #include "instance.h" #include "Enums.h" class PhysicalInstance : public Instance { public: PhysicalInstance(void); PhysicalInstance(const PhysicalInstance &oinst); Instance* clone() const { return new PhysicalInstance(*this); } ~PhysicalInstance(void); virtual void render(RenderDevice*); Vector3 velocity; SurfaceType top; SurfaceType front; SurfaceType right; SurfaceType back; SurfaceType left; SurfaceType bottom; CoordinateFrame cFrame; Color3 color; Vector3 getPosition(); void setPosition(Vector3); CoordinateFrame getCFrame(); void setCFrame(CoordinateFrame); Box getBox(); Box getScaledBox(); CoordinateFrame getCFrameRenderBased(); Vector3 getSize(); void setSize(Vector3); bool canCollide; bool anchored; Vector3 rotVelocity; bool collides(Box); virtual std::vector getProperties(); virtual void PropUpdate(LPPROPGRIDITEM &pItem); private: Vector3 position; Vector3 size; GLfloat vertecies[96]; bool changed; Box itemBox; };