Browse Source

Physics: default constructors for shapes.

pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
5a377a568e
  1. 7
      src/Physics/AxisAlignedBox.h
  2. 7
      src/Physics/Box.h
  3. 7
      src/Physics/Capsule.h
  4. 7
      src/Physics/Line.h
  5. 7
      src/Physics/LineSegment.h
  6. 7
      src/Physics/Plane.h
  7. 7
      src/Physics/Point.h
  8. 7
      src/Physics/Sphere.h

7
src/Physics/AxisAlignedBox.h

@ -46,6 +46,13 @@ radius.
*/
template<UnsignedInt dimensions> class MAGNUM_PHYSICS_EXPORT AxisAlignedBox: public AbstractShape<dimensions> {
public:
/**
* @brief Default constructor
*
* Creates zero sized box positioned at origin.
*/
inline explicit AxisAlignedBox() {}
/** @brief Constructor */
inline explicit AxisAlignedBox(const typename DimensionTraits<dimensions>::VectorType& min, const typename DimensionTraits<dimensions>::VectorType& max): _min(min), _max(max), _transformedMin(min), _transformedMax(max) {}

7
src/Physics/Box.h

@ -47,6 +47,13 @@ radius.
*/
template<UnsignedInt dimensions> class MAGNUM_PHYSICS_EXPORT Box: public AbstractShape<dimensions> {
public:
/**
* @brief Default constructor
*
* Creates zero-sized box positioned at origin.
*/
inline explicit Box(): _transformation(DimensionTraits<dimensions>::MatrixType::Zero), _transformedTransformation(DimensionTraits<dimensions>::MatrixType::Zero) {}
/** @brief Constructor */
inline explicit Box(const typename DimensionTraits<dimensions>::MatrixType& transformation): _transformation(transformation), _transformedTransformation(transformation) {}

7
src/Physics/Capsule.h

@ -46,6 +46,13 @@ applying transformation, the scale factor is averaged from all axes.
*/
template<UnsignedInt dimensions> class MAGNUM_PHYSICS_EXPORT Capsule: public AbstractShape<dimensions> {
public:
/**
* @brief Constructor
*
* Creates zero-sized capsule at origin.
*/
inline explicit Capsule(): _radius(0.0f), _transformedRadius(0.0f) {}
/** @brief Constructor */
inline explicit Capsule(const typename DimensionTraits<dimensions>::VectorType& a, const typename DimensionTraits<dimensions>::VectorType& b, Float radius): _a(a), _transformedA(a), _b(b), _transformedB(b), _radius(radius), _transformedRadius(radius) {}

7
src/Physics/Line.h

@ -43,6 +43,13 @@ namespace Magnum { namespace Physics {
*/
template<UnsignedInt dimensions> class MAGNUM_PHYSICS_EXPORT Line: public AbstractShape<dimensions> {
public:
/**
* @brief Default constructor
*
* Creates line with both points at origin.
*/
inline explicit Line() {}
/** @brief Constructor */
inline explicit Line(const typename DimensionTraits<dimensions>::VectorType& a, const typename DimensionTraits<dimensions>::VectorType& b): _a(a), _transformedA(a), _b(b), _transformedB(b) {}

7
src/Physics/LineSegment.h

@ -39,6 +39,13 @@ namespace Magnum { namespace Physics {
*/
template<UnsignedInt dimensions> class LineSegment: public Line<dimensions> {
public:
/**
* @brief Default constructor
*
* Creates line segment with both points at origin.
*/
inline explicit LineSegment() {}
/** @brief Constructor */
inline explicit LineSegment(const typename DimensionTraits<dimensions>::VectorType& a, const typename DimensionTraits<dimensions>::VectorType& b): Line<dimensions>(a, b) {}

7
src/Physics/Plane.h

@ -39,6 +39,13 @@ namespace Magnum { namespace Physics {
/** @brief Infinite plane, defined by position and normal (3D only) */
class MAGNUM_PHYSICS_EXPORT Plane: public AbstractShape<3> {
public:
/**
* @brief Default constructor
*
* Creates plane with zero-sized normal at origin.
*/
inline explicit Plane() {}
/** @brief Constructor */
inline explicit Plane(const Vector3& position, const Vector3& normal): _position(position), _transformedPosition(position), _normal(normal), _transformedNormal(normal) {}

7
src/Physics/Point.h

@ -42,6 +42,13 @@ namespace Magnum { namespace Physics {
*/
template<UnsignedInt dimensions> class MAGNUM_PHYSICS_EXPORT Point: public AbstractShape<dimensions> {
public:
/**
* @brief Default constructor
*
* Creates point at origin.
*/
inline explicit Point() {}
/** @brief Constructor */
inline explicit Point(const typename DimensionTraits<dimensions>::VectorType& position): _position(position), _transformedPosition(position) {}

7
src/Physics/Sphere.h

@ -46,6 +46,13 @@ applying transformation, the scale factor is averaged from all axes.
*/
template<UnsignedInt dimensions> class MAGNUM_PHYSICS_EXPORT Sphere: public AbstractShape<dimensions> {
public:
/**
* @brief Default constructor
*
* Creates zero-sized sphere at origin.
*/
inline explicit Sphere(): _radius(0.0f), _transformedRadius(0.0f) {}
/** @brief Constructor */
inline explicit Sphere(const typename DimensionTraits<dimensions>::VectorType& position, Float radius): _position(position), _transformedPosition(position), _radius(radius), _transformedRadius(radius) {}

Loading…
Cancel
Save