Class xlifepp::subdivision::SurfCone#

class SurfCone : public xlifepp::subdivision::SurfRevolution#

Inheritence diagram for xlifepp::subdivision::SurfCone:

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::SurfCone" tooltip="xlifepp::subdivision::SurfCone" 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::SurfCone:

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::SurfCone" tooltip="xlifepp::subdivision::SurfCone" 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 SurfCone(const Point &P1, const Point &P2, const real_t radius1, const real_t radius2 = 0)#

main constructor for a cone or a truncated cone P1 is the center of the circular basis of the cone.

P2 is the vertex of the cone (in which case radius2=0) or the center of the other circular basis of the truncated cone. radius1 is the radius of the circular section of the cone in the plane orthogonal to the axis (P1,P2) containing P1. It should not be null. radius2 is null or is the radius of the other circular section of the truncated cone in the plane orthogonal to the axis (P1,P2) containing P2. R2 -&#8212; P2 ^ / | | / | | heigth / | | —–&#8212; P1 v R1

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

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

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

The points in VP are assumed to lie on the cone (this is not checked). The projection is made in the plane orthogonal to the axis containing the point to project.

std::vector<real_t> radii() const#

return the radii of the cone

real_t radiusAt(const Point &P) const#

Computes the radius of the section of the cone whose center is P.

Thus, P is assumed to lie on the axis. This is not checked.