Class xlifepp::Homothety#

class Homothety : public xlifepp::Transformation#

Inheritance diagram for xlifepp::Homothety:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="xlifepp::Homothety" tooltip="xlifepp::Homothety" fillcolor="#BFBFBF"] "3" [label="xlifepp::PointReflection" tooltip="xlifepp::PointReflection"] "2" [label="xlifepp::Transformation" tooltip="xlifepp::Transformation"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "3" -> "1" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::Homothety:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "3" [label="xlifepp::Matrix< real_t >" tooltip="xlifepp::Matrix< real_t >"] "8" [label="xlifepp::Vector< real_t >" tooltip="xlifepp::Vector< real_t >"] "5" [label="std::vector< T >" tooltip="std::vector< T >"] "7" [label="std::vector< K >" tooltip="std::vector< K >"] "10" [label="std::vector< const xlifepp::Transformation * >" tooltip="std::vector< const xlifepp::Transformation * >"] "4" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "1" [label="xlifepp::Homothety" tooltip="xlifepp::Homothety" fillcolor="#BFBFBF"] "6" [label="xlifepp::Matrix< K >" tooltip="xlifepp::Matrix< K >"] "11" [label="xlifepp::Point" tooltip="xlifepp::Point"] "2" [label="xlifepp::Transformation" tooltip="xlifepp::Transformation"] "9" [label="xlifepp::Vector< K >" tooltip="xlifepp::Vector< K >"] "3" -> "4" [dir=forward tooltip="public-inheritance"] "3" -> "6" [dir=forward tooltip="template-instance"] "8" -> "4" [dir=forward tooltip="public-inheritance"] "8" -> "9" [dir=forward tooltip="template-instance"] "7" -> "5" [dir=forward tooltip="template-instance"] "10" -> "5" [dir=forward tooltip="template-instance"] "4" -> "5" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "1" -> "11" [dir=forward tooltip="usage"] "6" -> "7" [dir=forward tooltip="public-inheritance"] "11" -> "4" [dir=forward tooltip="public-inheritance"] "2" -> "3" [dir=forward tooltip="usage"] "2" -> "8" [dir=forward tooltip="usage"] "2" -> "10" [dir=forward tooltip="usage"] "9" -> "7" [dir=forward tooltip="public-inheritance"] }

representation of an homothety from a center and a factor

Subclassed by xlifepp::PointReflection

Public Functions

Homothety(const Point &c = Point(0., 0., 0.), real_t factor = 1.)#

default constructor from a center and a factor

inline virtual ~Homothety()#

destructor

virtual Point apply(const Point &p) const#

computes the image of a point by the transformation

inline const Point &center() const#

returns the center of the homothety

inline virtual Transformation *clone() const#

virtual copy constructor

inline real_t factor() const#

returns the scale factor of the homothety

inline virtual Homothety *homothety()#

access to child Homothety object

inline virtual const Homothety *homothety() const#

access to child Homothety object (const)

virtual void print(std::ostream&) const#

print Transformation