kernel_ftc3.h

来自「CGAL is a collaborative effort of severa」· C头文件 代码 · 共 1,787 行 · 第 1/4 页

H
1,787
字号
    Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST);    return collinearC3(		px.exact(),		py.exact(),		pz.exact(),		qx.exact(),		qy.exact(),		qz.exact(),		rx.exact(),		ry.exact(),		rz.exact());  }}template < class CT, class ET, bool Protected, class Cache >/* CGAL_KERNEL_MEDIUM_INLINE */OrientationorientationC3(    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &px,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &py,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pz,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qx,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qy,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qz,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rx,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &ry,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rz,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &sx,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &sy,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &sz){  try  {    CGAL_PROFILER("IA orientationC3 calls");    Protect_FPU_rounding<Protected> Protection;    return orientationC3(		px.interval(),		py.interval(),		pz.interval(),		qx.interval(),		qy.interval(),		qz.interval(),		rx.interval(),		ry.interval(),		rz.interval(),		sx.interval(),		sy.interval(),		sz.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("IA orientationC3 failures");    Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST);    return orientationC3(		px.exact(),		py.exact(),		pz.exact(),		qx.exact(),		qy.exact(),		qz.exact(),		rx.exact(),		ry.exact(),		rz.exact(),		sx.exact(),		sy.exact(),		sz.exact());  }}template < class ET >/* CGAL_KERNEL_MEDIUM_INLINE */OrientationorientationC3(    const Lazy_exact_nt<ET> &px,    const Lazy_exact_nt<ET> &py,    const Lazy_exact_nt<ET> &pz,    const Lazy_exact_nt<ET> &qx,    const Lazy_exact_nt<ET> &qy,    const Lazy_exact_nt<ET> &qz,    const Lazy_exact_nt<ET> &rx,    const Lazy_exact_nt<ET> &ry,    const Lazy_exact_nt<ET> &rz,    const Lazy_exact_nt<ET> &sx,    const Lazy_exact_nt<ET> &sy,    const Lazy_exact_nt<ET> &sz){  try  {    CGAL_PROFILER("Lazy IA orientationC3 calls");    Protect_FPU_rounding<true> Protection;    return orientationC3(		px.interval(),		py.interval(),		pz.interval(),		qx.interval(),		qy.interval(),		qz.interval(),		rx.interval(),		ry.interval(),		rz.interval(),		sx.interval(),		sy.interval(),		sz.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("Lazy IA orientationC3 failures");    Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST);    return orientationC3(		px.exact(),		py.exact(),		pz.exact(),		qx.exact(),		qy.exact(),		qz.exact(),		rx.exact(),		ry.exact(),		rz.exact(),		sx.exact(),		sy.exact(),		sz.exact());  }}template < class CT, class ET, bool Protected, class Cache >/* inline */AngleangleC3(    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &px,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &py,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pz,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qx,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qy,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qz,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rx,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &ry,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rz){  try  {    CGAL_PROFILER("IA angleC3 calls");    Protect_FPU_rounding<Protected> Protection;    return angleC3(		px.interval(),		py.interval(),		pz.interval(),		qx.interval(),		qy.interval(),		qz.interval(),		rx.interval(),		ry.interval(),		rz.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("IA angleC3 failures");    Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST);    return angleC3(		px.exact(),		py.exact(),		pz.exact(),		qx.exact(),		qy.exact(),		qz.exact(),		rx.exact(),		ry.exact(),		rz.exact());  }}template < class ET >/* inline */AngleangleC3(    const Lazy_exact_nt<ET> &px,    const Lazy_exact_nt<ET> &py,    const Lazy_exact_nt<ET> &pz,    const Lazy_exact_nt<ET> &qx,    const Lazy_exact_nt<ET> &qy,    const Lazy_exact_nt<ET> &qz,    const Lazy_exact_nt<ET> &rx,    const Lazy_exact_nt<ET> &ry,    const Lazy_exact_nt<ET> &rz){  try  {    CGAL_PROFILER("Lazy IA angleC3 calls");    Protect_FPU_rounding<true> Protection;    return angleC3(		px.interval(),		py.interval(),		pz.interval(),		qx.interval(),		qy.interval(),		qz.interval(),		rx.interval(),		ry.interval(),		rz.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("Lazy IA angleC3 failures");    Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST);    return angleC3(		px.exact(),		py.exact(),		pz.exact(),		qx.exact(),		qy.exact(),		qz.exact(),		rx.exact(),		ry.exact(),		rz.exact());  }}template < class CT, class ET, bool Protected, class Cache >/* CGAL_KERNEL_LARGE_INLINE */Bounded_sidecoplanar_side_of_bounded_circleC3(    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &px,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &py,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pz,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qx,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qy,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &qz,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rx,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &ry,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &rz,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &tx,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &ty,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &tz){  try  {    CGAL_PROFILER("IA coplanar_side_of_bounded_circleC3 calls");    Protect_FPU_rounding<Protected> Protection;    return coplanar_side_of_bounded_circleC3(		px.interval(),		py.interval(),		pz.interval(),		qx.interval(),		qy.interval(),		qz.interval(),		rx.interval(),		ry.interval(),		rz.interval(),		tx.interval(),		ty.interval(),		tz.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("IA coplanar_side_of_bounded_circleC3 failures");    Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST);    return coplanar_side_of_bounded_circleC3(		px.exact(),		py.exact(),		pz.exact(),		qx.exact(),		qy.exact(),		qz.exact(),		rx.exact(),		ry.exact(),		rz.exact(),		tx.exact(),		ty.exact(),		tz.exact());  }}template < class ET >/* CGAL_KERNEL_LARGE_INLINE */Bounded_sidecoplanar_side_of_bounded_circleC3(    const Lazy_exact_nt<ET> &px,    const Lazy_exact_nt<ET> &py,    const Lazy_exact_nt<ET> &pz,    const Lazy_exact_nt<ET> &qx,    const Lazy_exact_nt<ET> &qy,    const Lazy_exact_nt<ET> &qz,    const Lazy_exact_nt<ET> &rx,    const Lazy_exact_nt<ET> &ry,    const Lazy_exact_nt<ET> &rz,    const Lazy_exact_nt<ET> &tx,    const Lazy_exact_nt<ET> &ty,    const Lazy_exact_nt<ET> &tz){  try  {    CGAL_PROFILER("Lazy IA coplanar_side_of_bounded_circleC3 calls");    Protect_FPU_rounding<true> Protection;    return coplanar_side_of_bounded_circleC3(		px.interval(),		py.interval(),		pz.interval(),		qx.interval(),		qy.interval(),		qz.interval(),		rx.interval(),		ry.interval(),		rz.interval(),		tx.interval(),		ty.interval(),		tz.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("Lazy IA coplanar_side_of_bounded_circleC3 failures");    Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST);    return coplanar_side_of_bounded_circleC3(		px.exact(),		py.exact(),		pz.exact(),		qx.exact(),		qy.exact(),		qz.exact(),		rx.exact(),		ry.exact(),		rz.exact(),		tx.exact(),		ty.exact(),		tz.exact());  }}template < class CT, class ET, bool Protected, class Cache >/* CGAL_KERNEL_MEDIUM_INLINE */boolequal_directionC3(    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &dx1,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &dy1,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &dz1,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &dx2,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &dy2,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &dz2){  try  {    CGAL_PROFILER("IA equal_directionC3 calls");    Protect_FPU_rounding<Protected> Protection;    return equal_directionC3(		dx1.interval(),		dy1.interval(),		dz1.interval(),		dx2.interval(),		dy2.interval(),		dz2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("IA equal_directionC3 failures");    Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST);    return equal_directionC3(		dx1.exact(),		dy1.exact(),		dz1.exact(),		dx2.exact(),		dy2.exact(),		dz2.exact());  }}template < class ET >/* CGAL_KERNEL_MEDIUM_INLINE */boolequal_directionC3(    const Lazy_exact_nt<ET> &dx1,    const Lazy_exact_nt<ET> &dy1,    const Lazy_exact_nt<ET> &dz1,    const Lazy_exact_nt<ET> &dx2,    const Lazy_exact_nt<ET> &dy2,    const Lazy_exact_nt<ET> &dz2){  try  {    CGAL_PROFILER("Lazy IA equal_directionC3 calls");    Protect_FPU_rounding<true> Protection;    return equal_directionC3(		dx1.interval(),		dy1.interval(),		dz1.interval(),		dx2.interval(),		dy2.interval(),		dz2.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("Lazy IA equal_directionC3 failures");    Protect_FPU_rounding<false> Protection(CGAL_FE_TONEAREST);    return equal_directionC3(		dx1.exact(),		dy1.exact(),		dz1.exact(),		dx2.exact(),		dy2.exact(),		dz2.exact());  }}template < class CT, class ET, bool Protected, class Cache >/* CGAL_KERNEL_MEDIUM_INLINE */boolequal_planeC3(    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &ha,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &hb,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &hc,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &hd,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pa,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pb,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pc,    const Filtered_exact <CT, ET, Dynamic, Protected, Cache> &pd){  try  {    CGAL_PROFILER("IA equal_planeC3 calls");    Protect_FPU_rounding<Protected> Protection;    return equal_planeC3(		ha.interval(),		hb.interval(),		hc.interval(),		hd.interval(),		pa.interval(),		pb.interval(),		pc.interval(),		pd.interval());  }   catch (Interval_nt_advanced::unsafe_comparison)  {    CGAL_PROFILER("IA equal_planeC3 failures");    Protect_FPU_rounding<!Protected> Protection(CGAL_FE_TONEAREST);    return equal_planeC3(		ha.exact(),		hb.exact(),		hc.exact(),		hd.exact(),		pa.exact(),		pb.exact(),		pc.exact(),		pd.exact());  }}template < class ET >/* CGAL_KERNEL_MEDIUM_INLINE */boolequal_planeC3(

⌨️ 快捷键说明

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