Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Spherical_kernel_extension_3< SphericalKernel >::Is_counter_clockwise_oriented Class Reference

Check that an oriented edge and a point on the circular arc represented by this edge defines a counter clockwise orientation. More...

#include <Spherical_kernel_extension_3.hpp>

Public Types

typedef bool result_type
 

Functors

template<class Point >
result_type operator() (const Sphere_3 &S_1, const Sphere_3 &S_2, const Sphere_3 &S_3, const Point &p_ref) const
 Check that a circular arc is counter-clockwise oriented. More...
 

Detailed Description

template<class SphericalKernel>
class SBL::GT::T_Spherical_kernel_extension_3< SphericalKernel >::Is_counter_clockwise_oriented

Check that an oriented edge and a point on the circular arc represented by this edge defines a counter clockwise orientation.

Member Function Documentation

◆ operator()()

result_type operator() ( const Sphere_3 S_1,
const Sphere_3 S_2,
const Sphere_3 S_3,
const Point &  p_ref 
) const
inline

Check that a circular arc is counter-clockwise oriented.

The circular arc is defined by the intersection circle of S_1 and S_2, and its source point at the intersection of S_1, S_2 and S_3 that is on the same side of the plane of the centers of the spheres than p_ref.

Precondition
S_1 and S_2 intersection on a circle.
S_1, S_2 and S_3 intersect on one or two points.
if there are two intersection points, p_ref is not on the plane of the centers of S_1, S_2 and S_3.