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

📄 concept_archetype_functors.h

📁 很多二维 三维几何计算算法 C++ 类库
💻 H
📖 第 1 页 / 共 5 页
字号:
    { 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 + -