diff --git a/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel.tex b/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel.tex index 86e45e6fbbe..bbdeb78fc26 100644 --- a/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel.tex +++ b/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel.tex @@ -114,6 +114,8 @@ for equality testing. \ccNestedType{Construct_opposite_triangle_2}{} \ccGlue \ccNestedType{Construct_opposite_circle_2}{} +\ccGlue +\ccNestedType{Construct_opposite_vector_2}{} If the result type is not determined, there is no \ccc{Construct_} prefix: @@ -320,6 +322,8 @@ If the result type is a number type, the prefix is \ccc{Compute_}: \ccNestedType{Construct_opposite_line_3}{} \ccGlue \ccNestedType{Construct_opposite_plane_3}{} +\ccGlue +\ccNestedType{Construct_opposite_vector_3}{} If the result type is not determined, there is no \ccc{Construct_} prefix: @@ -509,6 +513,8 @@ an \ccc{_object} suffix. \ccGlue \ccMemberFunction{Kernel::Construct_opposite_circle_2 construct_opposite_circle_2_object() const ;}{} \ccGlue +\ccMemberFunction{Kernel::Construct_opposite_vector_2 construct_opposite_vector_2_object() const ;}{} +\ccGlue \ccMemberFunction{Kernel::Transform_2 transform_2_object() const ;}{} \ccGlue \ccMemberFunction{Kernel::Assign_2 assign_2_object() const ;}{} @@ -675,6 +681,8 @@ an \ccc{_object} suffix. \ccGlue \ccMemberFunction{Kernel::Construct_opposite_plane_3 construct_opposite_plane_3_object() const ;}{} \ccGlue +\ccMemberFunction{Kernel::Construct_opposite_vector_3 construct_opposite_vector_3_object() const ;}{} +\ccGlue \ccMemberFunction{Kernel::Construct_supporting_plane_3 construct_supporting_plane_3_object() const ;}{} \ccGlue \ccMemberFunction{Kernel::Transform_3 transform_3_object() const ;}{} diff --git a/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_opposite_vector_2.tex b/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_opposite_vector_2.tex new file mode 100644 index 00000000000..96b19cbd516 --- /dev/null +++ b/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_opposite_vector_2.tex @@ -0,0 +1,9 @@ +\begin{ccRefFunctionObjectConcept}{Kernel::Construct_opposite_vector_2} +A model for this must provide: + +\ccCreationVariable{fo} + +\ccMemberFunction{Kernel::Vector_2 operator()(const Kernel::Vector_2& v);} +{returns the vector \ccc{-v}.} + +\end{ccRefFunctionObjectConcept} diff --git a/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_opposite_vector_3.tex b/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_opposite_vector_3.tex new file mode 100644 index 00000000000..8b566175bad --- /dev/null +++ b/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_opposite_vector_3.tex @@ -0,0 +1,9 @@ +\begin{ccRefFunctionObjectConcept}{Kernel::Construct_opposite_vector_3} +A model for this must provide: + +\ccCreationVariable{fo} + +\ccMemberFunction{Kernel::Vector_3 operator()(const Kernel::Vector32& v);} +{returns the vector \ccc{-v}.} + +\end{ccRefFunctionObjectConcept} diff --git a/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_orthogonal_vector_3.tex b/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_orthogonal_vector_3.tex index 790f0a5b8a3..ec447a21f85 100644 --- a/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_orthogonal_vector_3.tex +++ b/Old_Packages/Doc23/doc_tex/kernel/Ref/Kernel_Construct_orthogonal_vector_3.tex @@ -3,7 +3,7 @@ A model for this must provide: \ccCreationVariable{fo} -\ccMemberFunction{Kernel::Vector_3 operator()(const Kernel::Plane_3& p) +\ccMemberFunction{Kernel::Vector_3 operator()(const Kernel::Plane_3& p);} {returns a vector that is orthogonal to the plane \ccc{p} and directed to the positive side of \ccc{p}.} diff --git a/Old_Packages/Doc23/doc_tex/kernel/main.tex b/Old_Packages/Doc23/doc_tex/kernel/main.tex index 60705e86db0..5d96563ff2a 100644 --- a/Old_Packages/Doc23/doc_tex/kernel/main.tex +++ b/Old_Packages/Doc23/doc_tex/kernel/main.tex @@ -293,6 +293,10 @@ \KernelRefLayout \input{Ref/Kernel_Construct_opposite_triangle_2.tex} %ck \KernelRefLayout +\input{Ref/Kernel_Construct_opposite_vector_2.tex} %ck +\KernelRefLayout +\input{Ref/Kernel_Construct_opposite_vector_3.tex} %ck +\KernelRefLayout \input{Ref/Kernel_Construct_orthogonal_vector_3.tex} %ck \KernelRefLayout \input{Ref/Kernel_Construct_perpendicular_direction_2.tex} %ck diff --git a/Old_Packages/Kernel_basic/changes.txt b/Old_Packages/Kernel_basic/changes.txt index ddd1e911e9d..a9db36b5312 100644 --- a/Old_Packages/Kernel_basic/changes.txt +++ b/Old_Packages/Kernel_basic/changes.txt @@ -1,5 +1,7 @@ 3.45 (?? June 2001) - Cleanup misc.h and don't include it from basic.h. +- Added Construct_orthogonal_vector_[23] +- Added Construct_opposite_vector_[23] 3.44 (19 June 2001) - Change to support cgal_window instead of LEDA (CGAL_USE_CGAL_WINDOW). diff --git a/Old_Packages/Kernel_basic/include/CGAL/Kernel/function_objects.h b/Old_Packages/Kernel_basic/include/CGAL/Kernel/function_objects.h index 36e4c6b3761..cf532eabbf6 100644 --- a/Old_Packages/Kernel_basic/include/CGAL/Kernel/function_objects.h +++ b/Old_Packages/Kernel_basic/include/CGAL/Kernel/function_objects.h @@ -292,6 +292,17 @@ class pl_Bisector operator()(const Point& p, const Point& q) const { return bisector(p,q); } }; +template +class v_Opposite +{ + public: + typedef Vector result_type; + + Vector + operator()(const Vector& v) const + { return -v; } +}; + template class v_Cross_product { diff --git a/Old_Packages/Kernel_basic/include/CGAL/Kernel_traits_common.h b/Old_Packages/Kernel_basic/include/CGAL/Kernel_traits_common.h index 4d760b5ea2b..877fbf2c2ba 100644 --- a/Old_Packages/Kernel_basic/include/CGAL/Kernel_traits_common.h +++ b/Old_Packages/Kernel_basic/include/CGAL/Kernel_traits_common.h @@ -103,6 +103,7 @@ typedef CGALi::Call_opposite_to_get Construct_opposite_ray_2; typedef CGALi::Call_opposite_to_get Construct_opposite_line_2; typedef CGALi::Call_opposite_to_get Construct_opposite_triangle_2; typedef CGALi::Call_opposite_to_get Construct_opposite_circle_2; +typedef CGALi::v_Opposite Construct_opposite_vector_2; typedef CGALi::Assign Assign_2; typedef CGALi::Call_transform Transform_2; typedef CGALi::Intersect Intersect_2; @@ -116,6 +117,8 @@ CGAL_Kernel_obj(Construct_opposite_triangle_2, construct_opposite_triangle_2_object) CGAL_Kernel_obj(Construct_opposite_circle_2, construct_opposite_circle_2_object) +CGAL_Kernel_obj(Construct_opposite_vector_2, + construct_opposite_vector_2_object) CGAL_Kernel_obj(Assign_2, assign_2_object) CGAL_Kernel_obj(Transform_2, transform_2_object) CGAL_Kernel_obj(Intersect_2, intersect_2_object) @@ -295,6 +298,7 @@ typedef CGALi::Call_opposite_to_get Construct_opposite_segment_3; typedef CGALi::Call_opposite_to_get Construct_opposite_ray_3; typedef CGALi::Call_opposite_to_get Construct_opposite_line_3; typedef CGALi::Call_opposite_to_get Construct_opposite_plane_3; +typedef CGALi::v_Opposite Construct_opposite_vector_3; typedef CGALi::Call_supporting_plane_to_get Construct_supporting_plane_3; typedef CGALi::Call_transform Transform_3; @@ -332,6 +336,7 @@ CGAL_Kernel_obj(Construct_opposite_segment_3, CGAL_Kernel_obj(Construct_opposite_ray_3, construct_opposite_ray_3_object) CGAL_Kernel_obj(Construct_opposite_line_3, construct_opposite_line_3_object) CGAL_Kernel_obj(Construct_opposite_plane_3, construct_opposite_plane_3_object) +CGAL_Kernel_obj(Construct_opposite_vector_3, construct_opposite_vector_3_object) CGAL_Kernel_obj(Construct_supporting_plane_3, construct_supporting_plane_3_object) CGAL_Kernel_obj(Transform_3, transform_3_object) diff --git a/Packages/Kernel_23/doc_tex/kernel/Ref/Kernel.tex b/Packages/Kernel_23/doc_tex/kernel/Ref/Kernel.tex index 86e45e6fbbe..bbdeb78fc26 100644 --- a/Packages/Kernel_23/doc_tex/kernel/Ref/Kernel.tex +++ b/Packages/Kernel_23/doc_tex/kernel/Ref/Kernel.tex @@ -114,6 +114,8 @@ for equality testing. \ccNestedType{Construct_opposite_triangle_2}{} \ccGlue \ccNestedType{Construct_opposite_circle_2}{} +\ccGlue +\ccNestedType{Construct_opposite_vector_2}{} If the result type is not determined, there is no \ccc{Construct_} prefix: @@ -320,6 +322,8 @@ If the result type is a number type, the prefix is \ccc{Compute_}: \ccNestedType{Construct_opposite_line_3}{} \ccGlue \ccNestedType{Construct_opposite_plane_3}{} +\ccGlue +\ccNestedType{Construct_opposite_vector_3}{} If the result type is not determined, there is no \ccc{Construct_} prefix: @@ -509,6 +513,8 @@ an \ccc{_object} suffix. \ccGlue \ccMemberFunction{Kernel::Construct_opposite_circle_2 construct_opposite_circle_2_object() const ;}{} \ccGlue +\ccMemberFunction{Kernel::Construct_opposite_vector_2 construct_opposite_vector_2_object() const ;}{} +\ccGlue \ccMemberFunction{Kernel::Transform_2 transform_2_object() const ;}{} \ccGlue \ccMemberFunction{Kernel::Assign_2 assign_2_object() const ;}{} @@ -675,6 +681,8 @@ an \ccc{_object} suffix. \ccGlue \ccMemberFunction{Kernel::Construct_opposite_plane_3 construct_opposite_plane_3_object() const ;}{} \ccGlue +\ccMemberFunction{Kernel::Construct_opposite_vector_3 construct_opposite_vector_3_object() const ;}{} +\ccGlue \ccMemberFunction{Kernel::Construct_supporting_plane_3 construct_supporting_plane_3_object() const ;}{} \ccGlue \ccMemberFunction{Kernel::Transform_3 transform_3_object() const ;}{} diff --git a/Packages/Kernel_23/doc_tex/kernel/main.tex b/Packages/Kernel_23/doc_tex/kernel/main.tex index 60705e86db0..5d96563ff2a 100644 --- a/Packages/Kernel_23/doc_tex/kernel/main.tex +++ b/Packages/Kernel_23/doc_tex/kernel/main.tex @@ -293,6 +293,10 @@ \KernelRefLayout \input{Ref/Kernel_Construct_opposite_triangle_2.tex} %ck \KernelRefLayout +\input{Ref/Kernel_Construct_opposite_vector_2.tex} %ck +\KernelRefLayout +\input{Ref/Kernel_Construct_opposite_vector_3.tex} %ck +\KernelRefLayout \input{Ref/Kernel_Construct_orthogonal_vector_3.tex} %ck \KernelRefLayout \input{Ref/Kernel_Construct_perpendicular_direction_2.tex} %ck diff --git a/Packages/Kernel_23/include/CGAL/Kernel/function_objects.h b/Packages/Kernel_23/include/CGAL/Kernel/function_objects.h index 36e4c6b3761..cf532eabbf6 100644 --- a/Packages/Kernel_23/include/CGAL/Kernel/function_objects.h +++ b/Packages/Kernel_23/include/CGAL/Kernel/function_objects.h @@ -292,6 +292,17 @@ class pl_Bisector operator()(const Point& p, const Point& q) const { return bisector(p,q); } }; +template +class v_Opposite +{ + public: + typedef Vector result_type; + + Vector + operator()(const Vector& v) const + { return -v; } +}; + template class v_Cross_product {