Class point

Inheritance Relationships

Base Types

Class Documentation

class acme::point : public vec3, public acme::entity

Point class container.

Specialization of Eigen::Matrix class

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

point(point const&) = default

Point copy constructor.

point(point&&) = default

Point move constructor.

point &operator=(const point&) = default

Point assignment operator.

point &operator=(point&&) = default

Point move assignment operator.

~point(void) override = default

Point class destructor.

point(void)

Point class constructor.

template<typename derived>
inline point(Eigen::MatrixBase<derived> const &other)

This constructor allows you to construct matrix from Eigen expressions.

Parameters

other – Eigen matrix object

virtual void translate(vec3 const &vector_in) override

Translate point by vector.

Parameters

vector_in – Input translation vector

virtual void transform(affine const &affine_in) override

Transform point with affine transformation matrix.

Parameters

affine_in – 4x4 affine transformation matrix

virtual bool isDegenerated(acme::real tolerance = EPSILON) const override

Check if entity is degenerated.

Parameters

tolerance – Tolerance

inline virtual integer level(void) const override

Return object hierarchical level.

inline virtual std::string type(void) const override

Return object type as string.

inline virtual bool isNone(void) const override

Check whether the object is no entity.

inline virtual bool isPoint(void) const override

Check whether the object is a point.

inline virtual bool isLine(void) const override

Check whether the object is a line.

inline virtual bool isRay(void) const override

Check whether the object is a ray.

inline virtual bool isPlane(void) const override

Check whether the object is a plane.

inline virtual bool isSegment(void) const override

Check whether the object is a segment.

inline virtual bool isTriangle(void) const override

Check whether the object is a triangle.

inline virtual bool isDisk(void) const override

Check whether the object is a disk.

inline virtual bool isBall(void) const override

Check whether the object is a ball.

inline virtual bool isClampable(void) const override

Check whether in the point is clampable.

inline virtual bool isNonClampable(void) const override

Check whether in the point is non-clampable.

virtual bool clamp(vec3 &min, vec3 &max) const override

Get minumum and maximum values along axes.

Parameters
  • min – Input minimum point

  • max – Input maximum point

virtual bool clamp(acme::real &min_x, acme::real &min_y, acme::real &min_z, acme::real &max_x, acme::real &max_y, acme::real &max_z) const override

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

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 bool isEntity(void) const

Check whether the object is an entity.