⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 concept_archetype_functors.h

📁 很多二维 三维几何计算算法 C++ 类库
💻 H
📖 第 1 页 / 共 5 页
字号:
    operator()( const Point_2&, const Line_2&) const    { return CGAL::LARGER; }    Comparison_result    operator()( const Point_2&, const Line_2&, const Line_2&) const    { return CGAL::LARGER; }    Comparison_result    operator()( const Line_2&, const Line_2&, const Line_2&) const    { return CGAL::LARGER; }    Comparison_result    operator()( const Line_2&, const Line_2&,	        const Line_2&, const Line_2&) const    { return CGAL::LARGER; }    Comparison_result    operator()( const Point_2&, const Segment_2&) const    { return CGAL::LARGER; }    Comparison_result    operator()( const Point_2&,	        const Segment_2&, const Segment_2&) const    { return CGAL::LARGER; }};template <typename K>class Compare_y_2{    typedef typename K::Point_2   Point_2;    typedef typename K::Line_2    Line_2;public:    typedef Comparison_result     result_type;    typedef Arity_tag< 2 >         Arity;    Comparison_result    operator()( const Point_2&, const Point_2&) const    { return CGAL::LARGER; }    Comparison_result    operator()( const Point_2&, const Line_2&, const Line_2&) const    { return CGAL::LARGER; }    Comparison_result    operator()( const Line_2&, const Line_2&, const Line_2&) const    { return CGAL::LARGER; }    Comparison_result    operator()( const Line_2&, const Line_2&,	        const Line_2&, const Line_2&) const    { return CGAL::LARGER; }};template <typename K>class Compare_y_3{    typedef typename K::Point_3   Point_3;public:    typedef Comparison_result     result_type;    typedef Arity_tag< 2 >        Arity;    Comparison_result    operator()( const Point_3&, const Point_3&) const    { return CGAL::LARGER; }};template <typename K>class Compare_yx_2{    typedef typename K::Point_2    Point_2;public:    typedef Comparison_result  result_type;    typedef Arity_tag< 2 >     Arity;    Comparison_result    operator()( const Point_2&, const Point_2&) const    { return CGAL::LARGER; }};template <typename K>class Compare_z_3{    typedef typename K::Point_3   Point_3;public:    typedef Comparison_result     result_type;    typedef Arity_tag< 2 >        Arity;    Comparison_result    operator()( const Point_3&, const Point_3&) const    { return CGAL::LARGER; }};template <typename K>class Compute_area_2{    typedef typename K::FT                FT;    typedef typename K::Iso_rectangle_2   Iso_rectangle_2;    typedef typename K::Triangle_2        Triangle_2;    typedef typename K::Point_2           Point_2;public:    typedef FT               result_type;    typedef Arity_tag< 1 >   Arity;    FT    operator()( const Point_2&, const Point_2&, const Point_2&) const    { FT val = 0; return val; }    FT    operator()( const Iso_rectangle_2&) const    { FT val = 0; return val; }    FT    operator()( const Triangle_2&) const    { FT val = 0; return val; }};template <typename K>class Compute_area_3{    typedef typename K::FT                FT;    typedef typename K::Triangle_3        Triangle_3;    typedef typename K::Point_3           Point_3;public:    typedef FT               result_type;    typedef Arity_tag< 1 >   Arity;    FT    operator()( const Triangle_3&) const    { FT val = 0; return val; }    FT    operator()( const Point_3&, const Point_3&, const Point_3&) const    { FT val = 0; return val; }};template <typename K>class Compute_determinant_2{    typedef typename K::FT                FT;    typedef typename K::Vector_2          Vector_2;public:    typedef FT               result_type;    typedef Arity_tag< 2 >   Arity;    FT    operator()(const Vector_2&, const Vector_2&) const    { FT val = 0; return val; }};template <typename K>class Compute_determinant_3{    typedef typename K::FT                FT;    typedef typename K::Vector_3          Vector_3;public:    typedef FT               result_type;    typedef Arity_tag< 3 >   Arity;    FT    operator()(const Vector_3&, const Vector_3&, const Vector_3&) const    { FT val = 0; return val; }};template <typename K>class Compute_scalar_product_2{    typedef typename K::FT                FT;    typedef typename K::Vector_2          Vector_2;public:    typedef FT               result_type;    typedef Arity_tag< 2 >   Arity;    FT    operator()(const Vector_2&, const Vector_2&) const    { FT val = 0; return val; }};template <typename K>class Compute_scalar_product_3{    typedef typename K::FT                FT;    typedef typename K::Vector_3          Vector_3;public:    typedef FT               result_type;    typedef Arity_tag< 2 >   Arity;    FT    operator()(const Vector_3&, const Vector_3&) const    { FT val = 0; return val; }};template <typename K>class Compute_squared_area_3{    typedef typename K::FT                FT;    typedef typename K::Triangle_3        Triangle_3;    typedef typename K::Point_3           Point_3;public:    typedef FT               result_type;    typedef Arity_tag< 1 >   Arity;    FT    operator()( const Triangle_3&) const    { FT val = 0; return val; }    FT    operator()( const Point_3&, const Point_3&, const Point_3&) const    { FT val = 0; return val; }};template <typename K>class Compute_squared_distance_2{    typedef typename K::FT   FT;public:    typedef FT               result_type;    typedef Arity_tag< 2 >   Arity;    // There are 25 combinaisons, we use a template.    template <class T1, class T2>    FT    operator()( const T1&, const T2&) const    { FT val = 0; return val; }};template <typename K>class Compute_squared_distance_3{    typedef typename K::FT   FT;public:    typedef FT               result_type;    typedef Arity_tag< 2 >   Arity;    // There are 25 combinaisons, we use a template.    template <class T1, class T2>    FT    operator()( const T1&, const T2&) const    { FT val = 0; return val; }};template <typename K>class Compute_squared_length_2{    typedef typename K::FT          FT;    typedef typename K::Vector_2    Vector_2;    typedef typename K::Segment_2   Segment_2;  public:    typedef FT               result_type;    typedef Arity_tag< 1 >   Arity;    FT    operator()( const Vector_2&) const    { FT val = 0; return val; }    FT    operator()( const Segment_2&) const    { FT val = 0; return val; }};template <typename K>class Compute_squared_length_3{    typedef typename K::FT          FT;    typedef typename K::Vector_3    Vector_3;    typedef typename K::Segment_3   Segment_3;  public:    typedef FT               result_type;    typedef Arity_tag< 1 >   Arity;    FT    operator()( const Vector_3&) const    { FT val = 0; return val; }    FT    operator()( const Segment_3&) const    { FT val = 0; return val; }};template <typename K>class Compute_squared_radius_2{    typedef typename K::FT          FT;    typedef typename K::Point_2     Point_2;    typedef typename K::Circle_2    Circle_2;public:    typedef FT               result_type;    typedef Arity_tag< 1 >   Arity;    FT    operator()( const Circle_2&) const    { FT val = 0; return val; }    FT    operator()( const Point_2&, const Point_2&, const Point_2&) const    { FT val = 0; return val; }    FT    operator()( const Point_2&, const Point_2&) const    { FT val = 0; return val; }};template <typename K>class Compute_squared_radius_3{    typedef typename K::FT          FT;    typedef typename K::Point_3     Point_3;    typedef typename K::Sphere_3    Sphere_3;public:    typedef FT               result_type;    typedef Arity_tag< 1 >   Arity;    FT    operator()( const Sphere_3&) const    { FT val = 0; return val; }    FT    operator()( const Point_3&, const Point_3&,	        const Point_3&, const Point_3&) const    { FT val = 0; return val; }    FT    operator()( const Point_3&, const Point_3&, const Point_3&) const    { FT val = 0; return val; }    FT    operator()( const Point_3&, const Point_3&) const    { FT val = 0; return val; }};template <typename K>class Compute_volume_3{    typedef typename K::FT             FT;    typedef typename K::Point_3        Point_3;    typedef typename K::Tetrahedron_3  Tetrahedron_3;    typedef typename K::Iso_cuboid_3   Iso_cuboid_3;public:    typedef FT               result_type;    typedef Arity_tag< 1 >   Arity;    FT    operator()( const Tetrahedron_3&) const    { FT val = 0; return val; }    FT    operator()( const Point_3&, const Point_3&,	        const Point_3&, const Point_3&) const    { FT val = 0; return val; }    FT    operator()( const Iso_cuboid_3&) const    { FT val = 0; return val; }};template <typename K>class Construct_base_vector_3{    typedef typename K::Vector_3   Vector_3;    typedef typename K::Plane_3    Plane_3;public:     typedef Vector_3         result_type;     typedef Arity_tag< 2 >   Arity;     Vector_3     operator()( const Plane_3&, int) const     {        Vector_3 v;	return v;     }};template <typename K>class Construct_bisector_2{    typedef typename K::Point_2 Point_2;    typedef typename K::Line_2  Line_2;public:    typedef Line_2           result_type;    typedef Arity_tag< 2 >   Arity;    Line_2    operator()(const Point_2&, const Point_2&) const    { Line_2 obj; return obj; }};template <typename K>class Construct_bisector_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 Point_3&, const Point_3&) const    { Plane_3 obj; return obj; }};template <typename K>class Construct_center_2{    typedef typename K::Point_2   Point_2;    typedef typename K::Circle_2  Circle_2;public:    typedef Point_2          result_type;    typedef Arity_tag< 1 >   Arity;    Point_2    operator()(const Circle_2&) const    { Point_2 obj; return obj; }};template <typename K>class Construct_center_3{    typedef typename K::Point_3   Point_3;    typedef typename K::Sphere_3  Sphere_3;public:    typedef Point_3          result_type;    typedef Arity_tag< 1 >   Arity;    Point_3    operator()(const Sphere_3&) const    { Point_3 obj; return obj; }};template <typename K>class Construct_centroid_2{    typedef typename K::Point_2     Point_2;    typedef typename K::Triangle_2  Triangle_2;public:    typedef Point_2          result_type;    typedef Arity_tag< 3 >   Arity;    Point_2    operator()(const Point_2&, const Point_2&, const Point_2&) const    { Point_2 obj; return obj; }    Point_2    operator()(const Triangle_2&) const    { Point_2 obj; return obj; }    Point_2    operator()(const Point_2&, const Point_2&,                const Point_2&, const Point_2&) const    { Point_2 obj; return obj; }};template <typename K>class Construct_centroid_3{    typedef typename K::Point_3        Point_3;    typedef typename K::Triangle_3     Triangle_3;    typedef typename K::Tetrahedron_3  Tetrahedron_3;public:    typedef Point_3          result_type;    typedef Arity_tag< 3 >   Arity;    Point_3    operator()(const Point_3&, const Point_3&, const Point_3&) const    { Point_3 obj; return obj; }    Point_3    operator()(const Triangle_3&) const    { Point_3 obj; return obj; }    Point_3    operator()(const Tetrahedron_3&) const    { Point_3 obj; return obj; }    Point_3    operator()(const Point_3&, const Point_3&,                const Point_3&, const Point_3&) const    { Point_3 obj; return obj; }};template <typename K>class Construct_circle_2{    typedef typename K::FT          FT;    typedef typename K::Point_2     Point_2;    typedef typename K::Circle_2    Circle_2;public:    typedef Circle_2         result_type;    typedef Arity_tag< 3 >   Arity;    Circle_2    operator()( const Point_2&, const FT&,	        Orientation = COUNTERCLOCKWISE) const    { return Circle_2(); }    Circle_2    operator()( const Point_2&, const Point_2&, const Point_2&) const    { return Circle_2(); }    Circle_2    operator()( const Point_2&, const Point_2&,	        Orientation = COUNTERCLOCKWISE) const    { return Circle_2(); }    Circle_2    operator()( const Point_2&,	        Orientation = COUNTERCLOCKWISE) const    { return Circle_2(); }};template <typename K>class Construct_circumcenter_2{    typedef typename K::Point_2     Point_2;    typedef typename K::Triangle_2  Triangle_2;public:    typedef Point_2          result_type;    typedef Arity_tag< 3 >   Arity;    Point_2    operator()(const Point_2&, const Point_2&) const    { return Point_2(); }    Point_2    operator()(const Point_2&, const Point_2&, const Point_2&) const    { return Point_2(); }    Point_2    operator()(const Triangle_2&) const    { return Point_2(); }};template <typename K>class Construct_circumcenter_3{    typedef typename K::Point_3        Point_3;    typedef typename K::Triangle_3     Triangle_3;    typedef typename K::Tetrahedron_3  Tetrahedron_3;public:    typedef Point_3          result_type;    typedef Arity_tag< 4 >   Arity;    Point_3    operator()(const Point_3&, const Point_3&) const

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -