Class xlifepp::subdivision::SurfEllipsoid#

class SurfEllipsoid : public xlifepp::subdivision::SurfRevolution#

Inheritence diagram for xlifepp::subdivision::SurfEllipsoid:

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

Collaboration diagram for xlifepp::subdivision::SurfEllipsoid:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "12" [label="xlifepp::Vector< real_t >" tooltip="xlifepp::Vector< real_t >"] "6" [label="std::basic_string< char >" tooltip="std::basic_string< char >"] "7" [label="std::basic_string< Char >" tooltip="std::basic_string< Char >"] "5" [label="std::string" tooltip="std::string"] "9" [label="std::vector< T >" tooltip="std::vector< T >"] "14" [label="std::vector< K >" tooltip="std::vector< K >"] "8" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "10" [label="std::vector< xlifepp::Point >" tooltip="std::vector< xlifepp::Point >"] "11" [label="xlifepp::Point" tooltip="xlifepp::Point"] "13" [label="xlifepp::Vector< K >" tooltip="xlifepp::Vector< K >"] "4" [label="xlifepp::subdivision::DivideByZero" tooltip="xlifepp::subdivision::DivideByZero"] "3" [label="xlifepp::subdivision::PatchGeometry" tooltip="xlifepp::subdivision::PatchGeometry"] "1" [label="xlifepp::subdivision::SurfEllipsoid" tooltip="xlifepp::subdivision::SurfEllipsoid" fillcolor="#BFBFBF"] "2" [label="xlifepp::subdivision::SurfRevolution" tooltip="xlifepp::subdivision::SurfRevolution"] "12" -> "8" [dir=forward tooltip="public-inheritance"] "12" -> "13" [dir=forward tooltip="template-instance"] "6" -> "7" [dir=forward tooltip="template-instance"] "5" -> "6" [dir=forward tooltip="public-inheritance"] "14" -> "9" [dir=forward tooltip="template-instance"] "8" -> "9" [dir=forward tooltip="template-instance"] "10" -> "9" [dir=forward tooltip="template-instance"] "11" -> "8" [dir=forward tooltip="public-inheritance"] "13" -> "14" [dir=forward tooltip="public-inheritance"] "4" -> "5" [dir=forward tooltip="usage"] "4" -> "8" [dir=forward tooltip="usage"] "4" -> "10" [dir=forward tooltip="usage"] "3" -> "4" [dir=forward tooltip="usage"] "3" -> "5" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "2" -> "11" [dir=forward tooltip="usage"] "2" -> "12" [dir=forward tooltip="usage"] }

Public Functions

inline SurfEllipsoid(const Point &P1, const Point &P2, const real_t radius)#

main constructor P1 is the center of the circular section of the ellipsoid.

P2 is one of the two apexes on the axis of the ellipsoid. radius is the radius of the circular section of the ellipsoid in the plane orthogonal to the axis (P1,P2) containing P1.

virtual Point projOnBound(const real_t *coef, const std::vector<Point> &VP) const#

projection onto the ellipsoid of the barycenter of the points in VP with coefficients in coef

Projection onto the ellipsoid of the barycenter of the points in VP with coefficients in coef.

The points in VP are assumed to lie on the ellipsoid (this is not checked). The projection is made onto the half of the ellipsoid whose apex is EndPt2_.