Ejemplo n.º 1
0
Oriented_side Exact_adaptive_kernel::oriented_circle( Point2 const& pa, Point2 const& pb, Point2 const& pc, Point2 const& test )
{
  double r = incircle( pa.data(), pb.data(), pc.data(), test.data() );

  if ( r > 0.0 )
  {
    return ON_POSITIVE_SIDE;
  }

  if ( r < 0.0 )
  {
    return ON_NEGATIVE_SIDE;
  }

  return ON_ORIENTED_BOUNDARY;
}
Ejemplo n.º 2
0
double Exact_adaptive_kernel::signed_area( Point2 const& pa, Point2 const& pb, Point2 const& pc )
{
  return 0.5 * orient2d( pa.data(), pb.data(), pc.data() );
}