Class xlifepp::Scaling#

class Scaling : public xlifepp::Transformation#

Inheritence diagram for xlifepp::Scaling:

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

Collaboration diagram for xlifepp::Scaling:

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 >"] "6" [label="xlifepp::Matrix< K >" tooltip="xlifepp::Matrix< K >"] "11" [label="xlifepp::Point" tooltip="xlifepp::Point"] "1" [label="xlifepp::Scaling" tooltip="xlifepp::Scaling" fillcolor="#BFBFBF"] "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"] "6" -> "7" [dir=forward tooltip="public-inheritance"] "11" -> "4" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "1" -> "11" [dir=forward tooltip="usage"] "1" -> "4" [dir=forward tooltip="usage"] "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 a scaling from a center and a scaling factor vector

Subclassed by xlifepp::Homothety

Public Functions

inline Scaling()#

default constructor

inline Scaling(const Parameter &p1)#

main constructor from one key

inline Scaling(const Parameter &p1, const Parameter &p2)#

main constructor from 2 keys

inline Scaling(const Point &c, const std::vector<real_t> &factor = std::vector<real_t>(1, 1.))#

default constructor from a center and a factor

inline Scaling(const std::vector<Parameter> &ps)#

main constructor from a vector of keys

inline virtual ~Scaling()#

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 const std::vector<real_t> &factors() const#

returns the scale factors of the scaling

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

print Transformation

inline virtual Scaling *scaling()#

access to child Scaling object

inline virtual const Scaling *scaling() const#

access to child Scaling object (const)