Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
basic_constructionsS3.h File Reference
#include <CGAL/SimpleCartesian/PointS3.h>
#include <CGAL/SimpleCartesian/PlaneS3.h>
#include <CGAL/constructions/kernel_ftC3.h>
Include dependency graph for basic_constructionsS3.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class FT >
CGAL_BEGIN_NAMESPACE
CGAL_KERNEL_MEDIUM_INLINE
PointS3< FT > 
midpoint (PointS3< FT > const &p, PointS3< FT > const &q)
 
template<class FT >
PointS3< FT > circumcenter (PointS3< FT > const &p, PointS3< FT > const &q, PointS3< FT > const &r, PointS3< FT > const &s)
 
template<class FT >
CGAL_KERNEL_LARGE_INLINE
PointS3< FT > 
projection (const PointS3< FT > &p, const PlaneS3< FT > &h)
 
template<class FT >
FT squared_distance (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
FT scaled_distance_to_plane (const PlaneS3< FT > &h, const PointS3< FT > &p)
 
template<class FT >
FT scaled_distance_to_plane (const PointS3< FT > &hp, const PointS3< FT > &hq, const PointS3< FT > &hr, const PointS3< FT > &p)
 
template<class FT >
PlaneS3< FT > bisector (const PointS3< FT > &p, const PointS3< FT > &q)
 
template<class FT >
PointS3< FT > gp_linear_intersection (const PlaneS3< FT > &f, const PlaneS3< FT > &g, const PlaneS3< FT > &h)
 

Function Documentation

PlaneS3<FT> bisector ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 133 of file basic_constructionsS3.h.

References midpoint().

Referenced by pl_Bisector< Point, Line >::operator()().

134 { return PlaneS3<FT>( midpoint(p,q), q-p); }
CGAL_BEGIN_NAMESPACE CGAL_KERNEL_MEDIUM_INLINE PointS3< FT > midpoint(PointS3< FT > const &p, PointS3< FT > const &q)

Here is the call graph for this function:

Here is the caller graph for this function:

PointS3<FT> circumcenter ( PointS3< FT > const &  p,
PointS3< FT > const &  q,
PointS3< FT > const &  r,
PointS3< FT > const &  s 
)

Definition at line 72 of file basic_constructionsS3.h.

References circumcenterC3(), x, PointS3< FT >::x(), y, PointS3< FT >::y(), z, and PointS3< FT >::z().

Referenced by p_Circumcenter< Point >::operator()().

76 {
77  FT x,y,z;
78  circumcenterC3(p.x(),p.y(),p.z(),
79  q.x(),q.y(),q.z(),
80  r.x(),r.y(),r.z(),
81  s.x(),s.y(),s.z(),
82  x,y,z);
83  return PointS3<FT>(x,y,z);
84 }
void int int REAL REAL * y
Definition: read.cpp:74
void int int int REAL REAL REAL * z
Definition: write.cpp:76
void int int REAL * x
Definition: read.cpp:74
void circumcenterC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, const FT &rx, const FT &ry, const FT &rz, const FT &sx, const FT &sy, const FT &sz, FT &x, FT &y, FT &z)

Here is the call graph for this function:

Here is the caller graph for this function:

PointS3<FT> gp_linear_intersection ( const PlaneS3< FT > &  f,
const PlaneS3< FT > &  g,
const PlaneS3< FT > &  h 
)
inline

Definition at line 139 of file basic_constructionsS3.h.

References PlaneS3< FT >::a(), PlaneS3< FT >::b(), PlaneS3< FT >::c(), PlaneS3< FT >::d(), and det3x3_by_formula().

142 {
143  return PointS3<FT>( det3x3_by_formula(-f.d(), f.b(), f.c(),
144  -g.d(), g.b(), g.c(),
145  -h.d(), h.b(), h.c()),
146  det3x3_by_formula( f.a(),-f.d(), f.c(),
147  g.a(),-g.d(), g.c(),
148  h.a(),-h.d(), h.c()),
149  det3x3_by_formula( f.a(), f.b(),-f.d(),
150  g.a(), g.b(),-g.d(),
151  h.a(), h.b(),-h.d()),
152  det3x3_by_formula( f.a(), f.b(), f.c(),
153  g.a(), g.b(), g.c(),
154  h.a(), h.b(), h.c()));
155 }
const FT & d() const
Definition: PlaneS3.h:234
CGAL_KERNEL_MEDIUM_INLINE FT det3x3_by_formula(const FT &a00, const FT &a01, const FT &a02, const FT &a10, const FT &a11, const FT &a12, const FT &a20, const FT &a21, const FT &a22)
Definition: determinant.h:71
const FT & c() const
Definition: PlaneS3.h:229
const FT & b() const
Definition: PlaneS3.h:224
const FT & a() const
Definition: PlaneS3.h:219

Here is the call graph for this function:

CGAL_BEGIN_NAMESPACE CGAL_KERNEL_MEDIUM_INLINE PointS3<FT> midpoint ( PointS3< FT > const &  p,
PointS3< FT > const &  q 
)

Definition at line 63 of file basic_constructionsS3.h.

References midpointC3(), x, PointS3< FT >::x(), y, PointS3< FT >::y(), z, and PointS3< FT >::z().

Referenced by bisector(), and p_Midpoint< Point >::operator()().

64 {
65  FT x,y,z;
66  midpointC3(p.x(),p.y(),p.z(),q.x(),q.y(),q.z(),x,y,z);
67  return PointS3<FT>(x,y,z);
68 }
void int int REAL REAL * y
Definition: read.cpp:74
void int int int REAL REAL REAL * z
Definition: write.cpp:76
CGAL_BEGIN_NAMESPACE CGAL_KERNEL_INLINE void midpointC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz, FT &x, FT &y, FT &z)
void int int REAL * x
Definition: read.cpp:74

Here is the call graph for this function:

Here is the caller graph for this function:

CGAL_KERNEL_LARGE_INLINE PointS3<FT> projection ( const PointS3< FT > &  p,
const PlaneS3< FT > &  h 
)

Definition at line 89 of file basic_constructionsS3.h.

References PlaneS3< FT >::a(), PlaneS3< FT >::b(), PlaneS3< FT >::c(), PlaneS3< FT >::d(), projection_planeC3(), x, PointS3< FT >::x(), y, PointS3< FT >::y(), z, and PointS3< FT >::z().

Referenced by PlaneS3< FT >::projection(), Line_3< R, T >::projection(), Plane_3< R, T >::projection(), Line_2< R >::projection(), and NonSmoothSteepestDescent::search_edges_faces().

90 {
91  FT x,y,z;
92  projection_planeC3(h.a(),h.b(),h.c(),h.d(),
93  p.x(),p.y(),p.z(),
94  x,y,z);
95  return PointS3<FT>(x,y,z);
96 }
const FT & d() const
Definition: PlaneS3.h:234
CGAL_KERNEL_MEDIUM_INLINE void projection_planeC3(const FT &pa, const FT &pb, const FT &pc, const FT &pd, const FT &px, const FT &py, const FT &pz, FT &x, FT &y, FT &z)
void int int REAL REAL * y
Definition: read.cpp:74
const FT & c() const
Definition: PlaneS3.h:229
void int int int REAL REAL REAL * z
Definition: write.cpp:76
const FT & b() const
Definition: PlaneS3.h:224
void int int REAL * x
Definition: read.cpp:74
const FT & a() const
Definition: PlaneS3.h:219

Here is the call graph for this function:

Here is the caller graph for this function:

FT scaled_distance_to_plane ( const PlaneS3< FT > &  h,
const PointS3< FT > &  p 
)
inline

Definition at line 110 of file basic_constructionsS3.h.

References PlaneS3< FT >::a(), PlaneS3< FT >::b(), PlaneS3< FT >::c(), PlaneS3< FT >::d(), scaled_distance_to_planeC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

111 {
112  return scaled_distance_to_planeC3(h.a(),h.b(),h.c(),h.d(),
113  p.x(),p.y(),p.z());
114 }
const FT & d() const
Definition: PlaneS3.h:234
CGAL_KERNEL_INLINE FT scaled_distance_to_planeC3(const FT &pa, const FT &pb, const FT &pc, const FT &pd, const FT &px, const FT &py, const FT &pz)
const FT & c() const
Definition: PlaneS3.h:229
const FT & b() const
Definition: PlaneS3.h:224
const FT & a() const
Definition: PlaneS3.h:219

Here is the call graph for this function:

FT scaled_distance_to_plane ( const PointS3< FT > &  hp,
const PointS3< FT > &  hq,
const PointS3< FT > &  hr,
const PointS3< FT > &  p 
)
inline

Definition at line 119 of file basic_constructionsS3.h.

References scaled_distance_to_planeC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

123 {
124  return scaled_distance_to_planeC3(hp.x(),hp.y(),hp.z(),
125  hq.x(),hq.y(),hq.z(),
126  hr.x(),hr.y(),hr.z(),
127  p.x(),p.y(),p.z());
128 }
CGAL_KERNEL_INLINE FT scaled_distance_to_planeC3(const FT &pa, const FT &pb, const FT &pc, const FT &pd, const FT &px, const FT &py, const FT &pz)

Here is the call graph for this function:

FT squared_distance ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)
inline

Definition at line 102 of file basic_constructionsS3.h.

References squared_distanceC3(), PointS3< FT >::x(), PointS3< FT >::y(), and PointS3< FT >::z().

Referenced by SegmentS3< FT >::squared_length(), and SegmentS2< FT >::squared_length().

103 {
104  return squared_distanceC3(p.x(),p.y(),p.z(),q.x(),q.y(),q.z());
105 }
CGAL_KERNEL_INLINE FT squared_distanceC3(const FT &px, const FT &py, const FT &pz, const FT &qx, const FT &qy, const FT &qz)

Here is the call graph for this function:

Here is the caller graph for this function: