Class entity

Inheritance Relationships

Derived Types

Class Documentation

class acme::entity

Geometrical entity class container.

Geometrical entity in 3D space.

Subclassed by acme::ball, acme::disk, acme::line, acme::none, acme::plane, acme::point, acme::ray, acme::segment, acme::triangle

Public Types

typedef std::shared_ptr<entity> ptr

Shared pointer to entity object.

typedef std::vector<ptr> vecptr

Vector of pointers to entity objects.

Public Functions

entity(entity const&) = default

Entity copy constructor.

entity(entity&&) = default

Entity move constructor.

entity &operator=(const entity&) = default

Entity assignment operator.

entity &operator=(entity&&) = default

Entity move assignment operator.

virtual ~entity(void)

Entity class destructor.

entity(void)

Entity class destructor.

virtual void translate(vec3 const &input) = 0

Translate entity by vector.

Parameters

input – Input translation vector

virtual void transform(affine const &matrix) = 0

Transform entity with affine transformation matrix.

Parameters

matrix – 4x4 affine transformation matrix

void rotate(real angle, vec3 const &axis)

Rotate entity by a rotation angle around an arbitrary axis.

Parameters
  • angle – Input angle [rad]

  • axis – Input axis

inline virtual bool isDegenerated(real tolerance = EPSILON) const = 0

Check if entity is degenerated.

Parameters

tolerance – Tolerance

inline virtual integer level(void) const = 0

Return object hierarchical level.

inline virtual std::string type(void) const = 0

Return object type as string.

inline bool isEntity(void) const

Check whether the object is an entity.

inline virtual bool isNone(void) const = 0

Check whether the object is no entity.

inline virtual bool isPoint(void) const = 0

Check whether the object is a point.

inline virtual bool isLine(void) const = 0

Check whether the object is a line.

inline virtual bool isRay(void) const = 0

Check whether the object is a ray.

inline virtual bool isPlane(void) const = 0

Check whether the object is a plane.

inline virtual bool isSegment(void) const = 0

Check whether the object is a segment.

inline virtual bool isTriangle(void) const = 0

Check whether the object is a triangle.

inline virtual bool isDisk(void) const = 0

Check whether the object is a disk.

inline virtual bool isBall(void) const = 0

Check whether the object is a ball.

inline virtual bool isClampable(void) const = 0

Check whether in the entity is clampable.

inline virtual bool isNonClampable(void) const = 0

Check whether in the entity is non clampable.

virtual bool clamp(vec3 &min, vec3 &max) const = 0

Get minumum and maximum values along axes.

Parameters
  • min – Input minimum point

  • max – Input maximum point

virtual bool clamp(real &min_x, real &min_y, real &min_z, real &max_x, real &max_y, real &max_z) const = 0

Get minumum and maximum values along axes.

Parameters
  • min_x – Input x value of minimum point

  • min_y – Input y value of minimum point

  • min_z – Input z value of minimum point

  • max_x – Input x value of maximum point

  • max_y – Input y value of maximum point

  • max_z – Input z value of maximum point