Class xlifepp::subdivision::PatchGeometry#

class PatchGeometry#

Inheritence diagram for xlifepp::subdivision::PatchGeometry:

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

Collaboration diagram for xlifepp::subdivision::PatchGeometry:

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

abstract base class that defines the geometrical information associated to the patches of the domain.

Subclassed by xlifepp::subdivision::DefaultGeometry, xlifepp::subdivision::SurfRevolution

Public Functions

inline PatchGeometry(const number_t type, const std::string descr)#

main constructor

inline virtual ~PatchGeometry()#

destructor

inline bool curvedShape() const#

returns true if the shape is non plane, false otherwise

inline std::string description() const#

returns the description of the shape

inline virtual Point EndPt1() const#

returns the end points of the axis of a surface of revolution.

Irrelevant for other surfaces.

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

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

inline number_t typeOfShape() const#

returns the type of shape