📄 concept_archetype_functors.h
字号:
{ return Vector_3(); } Vector_3 operator()( const Point_3&, const Point_3&, const Point_3&) const { return Vector_3(); }};template <typename K>class Construct_perpendicular_direction_2{ typedef typename K::Direction_2 Direction_2;public: typedef Direction_2 result_type; typedef Arity_tag< 2 > Arity; Direction_2 operator()( const Direction_2&, Orientation) const { return Direction_2(); }};template <typename K>class Construct_perpendicular_line_2{ typedef typename K::Line_2 Line_2; typedef typename K::Point_2 Point_2;public: typedef Line_2 result_type; typedef Arity_tag< 2 > Arity; Line_2 operator()( const Line_2&, const Point_2&) const { return Line_2(); }};template <typename K>class Construct_perpendicular_line_3{ typedef typename K::Line_3 Line_3; typedef typename K::Point_3 Point_3; typedef typename K::Plane_3 Plane_3;public: typedef Line_3 result_type; typedef Arity_tag< 2 > Arity; Line_3 operator()( const Plane_3&, const Point_3&) const { return Line_3(); }};template <typename K>class Construct_perpendicular_plane_3{ typedef typename K::Line_3 Line_3; typedef typename K::Point_3 Point_3; typedef typename K::Plane_3 Plane_3;public: typedef Plane_3 result_type; typedef Arity_tag< 2 > Arity; Plane_3 operator()( const Line_3&, const Point_3&) const { return Plane_3(); }};template <typename K>class Construct_perpendicular_vector_2{ typedef typename K::Vector_2 Vector_2;public: typedef Vector_2 result_type; typedef Arity_tag< 2 > Arity; Vector_2 operator()( const Vector_2&, Orientation) const { return Vector_2(); }};template <typename K>class Construct_plane_3{ typedef typename K::RT RT; typedef typename K::Point_3 Point_3; typedef typename K::Direction_3 Direction_3; typedef typename K::Line_3 Line_3; typedef typename K::Ray_3 Ray_3; typedef typename K::Segment_3 Segment_3; typedef typename K::Plane_3 Plane_3;public: typedef Plane_3 result_type; typedef Arity_tag< 2 > Arity; Plane_3 operator()(const RT&, const RT&, const RT&, const RT&) const { return Plane_3(); } Plane_3 operator()(const Point_3&, const Point_3&, const Point_3&) const { return Plane_3(); } Plane_3 operator()(const Point_3&, const Direction_3&) const { return Plane_3(); } Plane_3 operator()(const Line_3&, const Point_3&) const { return Plane_3(); } Plane_3 operator()(const Ray_3&, const Point_3&) const { return Plane_3(); } Plane_3 operator()(const Segment_3&, const Point_3&) const { return Plane_3(); }};template <typename K>class Construct_point_on_2{ typedef typename K::Point_2 Point_2; typedef typename K::Segment_2 Segment_2; typedef typename K::Line_2 Line_2; typedef typename K::Ray_2 Ray_2;public: typedef Point_2 result_type; typedef Arity_tag< 2 > Arity; Point_2 operator()( const Line_2&, int) const { return Point_2(); } Point_2 operator()( const Segment_2&, int) const { return Point_2(); } Point_2 operator()( const Ray_2&, int) const { return Point_2(); }};template <typename K>class Construct_point_on_3{ typedef typename K::Point_3 Point_3; typedef typename K::Segment_3 Segment_3; typedef typename K::Line_3 Line_3; typedef typename K::Ray_3 Ray_3; typedef typename K::Plane_3 Plane_3;public: typedef Point_3 result_type; typedef Arity_tag< 2 > Arity; Point_3 operator()( const Line_3&, int) const { return Point_3(); } Point_3 operator()( const Segment_3&, int) const { return Point_3(); } Point_3 operator()( const Ray_3&, int) const { return Point_3(); } Point_3 operator()( const Plane_3&) const { return Point_3(); }};template <typename K>class Construct_point_2{ typedef typename K::RT RT; typedef typename K::Point_2 Point_2;public: typedef Point_2 result_type; typedef Arity_tag< 1 > Arity; Point_2 operator()(Origin) const { return Point_2(); }};template <typename K>class Construct_point_3{ typedef typename K::RT RT; typedef typename K::Point_3 Point_3;public: typedef Point_3 result_type; typedef Arity_tag< 1 > Arity; Point_3 operator()(Origin) const { return Point_3(); }};template <typename K>class Construct_projected_point_2{ typedef typename K::Point_2 Point_2; typedef typename K::Line_2 Line_2;public: typedef Point_2 result_type; typedef Arity_tag< 2 > Arity; Point_2 operator()( const Line_2&, const Point_2&) const { return Point_2(); }};template <typename K>class Construct_projected_point_3{ typedef typename K::Point_3 Point_3; typedef typename K::Plane_3 Plane_3; typedef typename K::Line_3 Line_3;public: typedef Point_3 result_type; typedef Arity_tag< 2 > Arity; Point_3 operator()( const Line_3&, const Point_3&) const { return Point_3(); } Point_3 operator()( const Plane_3&, const Point_3&) const { return Point_3(); }};template <typename K>class Construct_projected_xy_point_2{ typedef typename K::Point_2 Point_2; typedef typename K::Point_3 Point_3; typedef typename K::Plane_3 Plane_3;public: typedef Point_2 result_type; typedef Arity_tag< 2 > Arity; Point_2 operator()( const Plane_3&, const Point_3&) const { return Point_2(); }};template <typename K>class Construct_ray_2{ typedef typename K::Point_2 Point_2; typedef typename K::Vector_2 Vector_2; typedef typename K::Direction_2 Direction_2; typedef typename K::Line_2 Line_2; typedef typename K::Ray_2 Ray_2;public: typedef Ray_2 result_type; typedef Arity_tag< 2 > Arity; Ray_2 operator()(const Point_2&, const Point_2&) const { return Ray_2(); } Ray_2 operator()(const Point_2&, const Vector_2&) const { return Ray_2(); } Ray_2 operator()(const Point_2&, const Direction_2&) const { return Ray_2(); } Ray_2 operator()(const Point_2&, const Line_2&) const { return Ray_2(); }};template <typename K>class Construct_ray_3{ typedef typename K::Point_3 Point_3; typedef typename K::Vector_3 Vector_3; typedef typename K::Direction_3 Direction_3; typedef typename K::Line_3 Line_3; typedef typename K::Ray_3 Ray_3;public: typedef Ray_3 result_type; typedef Arity_tag< 2 > Arity; Ray_3 operator()(const Point_3&, const Point_3&) const { return Ray_3(); } Ray_3 operator()(const Point_3&, const Vector_3&) const { return Ray_3(); } Ray_3 operator()(const Point_3&, const Direction_3&) const { return Ray_3(); } Ray_3 operator()(const Point_3&, const Line_3&) const { return Ray_3(); }};template <typename K>class Construct_scaled_vector_2{ typedef typename K::RT RT; typedef typename K::Vector_2 Vector_2;public: typedef Vector_2 result_type; typedef Arity_tag< 2 > Arity; Vector_2 operator()( const Vector_2&, const RT&) const { return Vector_2(); } Vector_2 operator()( const Vector_2&, const Quotient<RT>&) const { return Vector_2(); }};template <typename K>class Construct_scaled_vector_3{ typedef typename K::RT RT; typedef typename K::Vector_3 Vector_3;public: typedef Vector_3 result_type; typedef Arity_tag< 2 > Arity; Vector_3 operator()( const Vector_3&, const RT&) const { return Vector_3(); } Vector_3 operator()( const Vector_3&, const Quotient<RT>&) const { return Vector_3(); }};template <typename K>class Construct_segment_2{ typedef typename K::Segment_2 Segment_2; typedef typename K::Point_2 Point_2;public: typedef Segment_2 result_type; typedef Arity_tag< 2 > Arity; Segment_2 operator()( const Point_2&, const Point_2&) const { return Segment_2(); }};template <typename K>class Construct_segment_3{ typedef typename K::Segment_3 Segment_3; typedef typename K::Point_3 Point_3;public: typedef Segment_3 result_type; typedef Arity_tag< 2 > Arity; Segment_3 operator()( const Point_3&, const Point_3&) const { return Segment_3(); }};template <typename K>class Construct_sphere_3{ typedef typename K::FT FT; typedef typename K::Point_3 Point_3; typedef typename K::Sphere_3 Sphere_3;public: typedef Sphere_3 result_type; typedef Arity_tag< 4 > Arity; Sphere_3 operator()( const Point_3&, const FT&, Orientation = COUNTERCLOCKWISE) const { return Sphere_3(); } Sphere_3 operator()( const Point_3&, const Point_3&, const Point_3&, const Point_3&) const { return Sphere_3(); } Sphere_3 operator()( const Point_3&, const Point_3&, const Point_3&, Orientation = COUNTERCLOCKWISE) const { return Sphere_3(); } Sphere_3 operator()( const Point_3&, const Point_3&, Orientation = COUNTERCLOCKWISE) const { return Sphere_3(); } Sphere_3 operator()( const Point_3&, Orientation = COUNTERCLOCKWISE) const { return Sphere_3(); }};#ifndef CGAL_NO_DEPRECATED_CODEtemplate <typename K>class Construct_supporting_line_2{ typedef typename K::Line_2 Line_2; typedef typename K::Ray_2 Ray_2; typedef typename K::Segment_2 Segment_2;public: typedef Line_2 result_type; typedef Arity_tag< 1 > Arity; Line_2 operator()( const Ray_2&) const { return Line_2(); } Line_2 operator()( const Segment_2&) const { return Line_2(); }};template <typename K>class Construct_supporting_line_3{ typedef typename K::Line_3 Line_3; typedef typename K::Ray_3 Ray_3; typedef typename K::Segment_3 Segment_3;public: typedef Line_3 result_type; typedef Arity_tag< 1 > Arity; Line_3 operator()( const Ray_3&) const { return Line_3(); } Line_3 operator()( const Segment_3&) const { return Line_3(); }};#endif // CGAL_NO_DEPRECATED_CODEtemplate <typename K>class Construct_supporting_plane_3{ typedef typename K::Triangle_3 Triangle_3; typedef typename K::Plane_3 Plane_3;public: typedef Plane_3 result_type; typedef Arity_tag< 1 > Arity; Plane_3 operator()( const Triangle_3&) const { return Plane_3(); }};template <typename K>class Construct_tetrahedron_3{ typedef typename K::Tetrahedron_3 Tetrahedron_3; typedef typename K::Point_3 Point_3;public: typedef Tetrahedron_3 result_type; typedef Arity_tag< 4 > Arity; Tetrahedron_3 operator()( const Point_3&, const Point_3&, const Point_3&, const Point_3&) const { return Tetrahedron_3(); }};template <typename K>class Construct_translated_point_2{ typedef typename K::Point_2 Point_2; typedef typename K::Vector_2 Vector_2;public: typedef Point_2 result_type; typedef Arity_tag< 2 > Arity; Point_2 operator()( const Point_2&, const Vector_2&) const { return Point_2(); } Point_2 operator()( const Origin&, const Vector_2&) const { return Point_2(); }};template <typename K>class Construct_translated_point_3{ typedef typename K::Point_3 Point_3; typedef typename K::Vector_3 Vector_3;public: typedef Point_3 result_type; typedef Arity_tag< 2 > Arity; Point_3 operator()( const Point_3&, const Vector_3&) const { return Point_3(); } Point_3 operator()( const Origin&, const Vector_3&) const { return Point_3(); }};template <typename K>class Construct_triangle_2{ typedef typename K::Triangle_2 Triangle_2; typedef typename K::Point_2 Point_2;public: typedef Triangle_2 result_type; typedef Arity_tag< 3 > Arity; Triangle_2 operator()( const Point_2&, const Point_2&, const Point_2&) const { return Triangle_2(); }};template <typename K>class Construct_triangle_3{ typedef typename K::Triangle_3 Triangle_3; typedef typename K::Point_3 Point_3;public: typedef Triangle_3 result_type; typedef Arity_tag< 3 > Arity; Triangle_3 operator()( const Point_3&, const Point_3&, const Point_3&) const { return Triangle_3(); }};template <typename K>class Construct_vector_2{ typedef typename K::RT RT; typedef typename K::Segment_2 Segment_2; typedef typename K::Ray_2 Ray_2; typedef typename K::Line_2 Line_2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -