/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ----------------------------------------------------------------------------- */ #ifndef __NPHYSICWHEEL__ #define __NPHYSICWHEEL__ #include "math/matrix4.h" #include "memory/nshared_ptr.h" #include "container/nlist.h" namespace GS { namespace NML { class Tag; } namespace S3D { /*! @short Abstract physic wheel for the physic vehicle model. @author Emmanuel Julien (ejulien@gsworks.fr) */ struct PhysicWheel { /*! @name Wheel section. @{ */ float friction, radius; /*! @} @name Suspension section. @{ */ Matrix4 ref_matrix; ///< Suspension origin in vehicle body space. float rest_length, max_compression, stiffness, damping; /// @} /*! @name Serialization. @{ */ bool FromMetaTag(NML::Tag &tag); NML::Tag *AsMetaTag() const; /// @} PhysicWheel(); }; typedef List PhysicWheelList; } // S3D } // GS #endif // __NPHYSICWHEEL__