Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LineS3< FT > Class Template Reference

#include <LineS3.h>

Public Member Functions

 LineS3 ()
 
 LineS3 (const PointS3< FT > &p, const PointS3< FT > &q)
 
 LineS3 (const SegmentS3< FT > &s)
 
 LineS3 (const RayS3< FT > &r)
 
 LineS3 (const PointS3< FT > &p, const DirectionS3< FT > &d)
 
bool operator== (const LineS3< FT > &l) const
 
bool operator!= (const LineS3< FT > &l) const
 
PlaneS3< FT > perpendicular_plane (const PointS3< FT > &p) const
 
LineS3< FT > opposite () const
 
PointS3< FT > point () const
 
PointS3< FT > point (int i) const
 
PointS3< FT > projection (const PointS3< FT > &p) const
 
DirectionS3< FT > direction () const
 
bool has_on (const PointS3< FT > &p) const
 
bool is_degenerate () const
 
LineS3< FT > transform (const Aff_transformationS3< FT > &t) const
 
void new_rep (const PointS3< FT > &p, const VectorS3< FT > &v)
 

Public Attributes

PointS3< FT > e0
 
PointS3< FT > e1
 

Detailed Description

template<class FT>
class LineS3< FT >

Definition at line 59 of file LineS3.h.

Constructor & Destructor Documentation

LineS3 ( )
inline

Definition at line 62 of file LineS3.h.

62 {}
CGAL_END_NAMESPACE CGAL_BEGIN_NAMESPACE LineS3 ( const PointS3< FT > &  p,
const PointS3< FT > &  q 
)

Definition at line 118 of file LineS3.h.

119 { new_rep(p, q - p); }
void new_rep(const PointS3< FT > &p, const VectorS3< FT > &v)
Definition: LineS3.h:102
LineS3 ( const SegmentS3< FT > &  s)

Definition at line 122 of file LineS3.h.

References SegmentS3< FT >::end(), and SegmentS3< FT >::start().

123 { new_rep(s.start(), s.end() - s.start()); }
void new_rep(const PointS3< FT > &p, const VectorS3< FT > &v)
Definition: LineS3.h:102
PointS3< FT > start() const
Definition: SegmentS3.h:115
PointS3< FT > end() const
Definition: SegmentS3.h:120

Here is the call graph for this function:

LineS3 ( const RayS3< FT > &  r)

Definition at line 126 of file LineS3.h.

References RayS3< FT >::second_point(), and RayS3< FT >::start().

127 { new_rep(r.start(), r.second_point() - r.start()); }
void new_rep(const PointS3< FT > &p, const VectorS3< FT > &v)
Definition: LineS3.h:102
PointS3< FT > second_point() const
Definition: RayS3.h:133
PointS3< FT > start() const
Definition: RayS3.h:122

Here is the call graph for this function:

LineS3 ( const PointS3< FT > &  p,
const DirectionS3< FT > &  d 
)

Definition at line 130 of file LineS3.h.

References DirectionS3< FT >::vector().

131 { new_rep(p, d.vector()); }
void new_rep(const PointS3< FT > &p, const VectorS3< FT > &v)
Definition: LineS3.h:102
VectorS3< FT > vector() const
Definition: DirectionS3.h:71

Here is the call graph for this function:

Member Function Documentation

DirectionS3< FT > direction ( ) const

Definition at line 150 of file LineS3.h.

References ORIGIN.

Referenced by PlaneS3< FT >::has_on_boundary(), LineS3< FT >::operator==(), and PlaneS3< FT >::PlaneS3().

151 { return (e1 - ORIGIN).direction(); }
Origin ORIGIN
Definition: Origin.C:61
PointS3< FT > e1
Definition: LineS3.h:94

Here is the caller graph for this function:

bool has_on ( const PointS3< FT > &  p) const

Definition at line 180 of file LineS3.h.

References collinear().

181 { return collinear(point(), point()+direction().vector(), p); }
bool collinear(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
PointS3< FT > point() const
Definition: LineS3.h:145
DirectionS3< FT > direction() const
Definition: LineS3.h:150

Here is the call graph for this function:

bool is_degenerate ( ) const

Definition at line 186 of file LineS3.h.

187 { return direction() == DirectionS3<FT>(0,0,0); }
DirectionS3< FT > direction() const
Definition: LineS3.h:150
void new_rep ( const PointS3< FT > &  p,
const VectorS3< FT > &  v 
)
inline

Definition at line 102 of file LineS3.h.

References ORIGIN, and v.

103 {
104  e0 = p;
105  e1 = ORIGIN + v;
106 }
PointS3< FT > e0
Definition: LineS3.h:93
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
Origin ORIGIN
Definition: Origin.C:61
PointS3< FT > e1
Definition: LineS3.h:94
bool operator!= ( const LineS3< FT > &  l) const
inline

Definition at line 140 of file LineS3.h.

141 { return !(*this == l); }
bool operator== ( const LineS3< FT > &  l) const

Definition at line 134 of file LineS3.h.

References LineS3< FT >::direction(), and LineS3< FT >::point().

135 { return has_on(l.point()) && (direction() == l.direction()); }
bool has_on(const PointS3< FT > &p) const
Definition: LineS3.h:180
PointS3< FT > point() const
Definition: LineS3.h:145
DirectionS3< FT > direction() const
Definition: LineS3.h:150

Here is the call graph for this function:

LineS3< FT > opposite ( ) const

Definition at line 166 of file LineS3.h.

167 { return LineS3<FT>(point(), -direction()); }
PointS3< FT > point() const
Definition: LineS3.h:145
DirectionS3< FT > direction() const
Definition: LineS3.h:150
Definition: LineS3.h:59
PlaneS3< FT > perpendicular_plane ( const PointS3< FT > &  p) const

Definition at line 161 of file LineS3.h.

162 { return PlaneS3<FT>(p, direction().vector()); }
DirectionS3< FT > direction() const
Definition: LineS3.h:150
PointS3< FT > point ( ) const

Definition at line 145 of file LineS3.h.

Referenced by PlaneS3< FT >::has_on_boundary(), LineS3< FT >::operator==(), and PlaneS3< FT >::PlaneS3().

146 { return e0; }
PointS3< FT > e0
Definition: LineS3.h:93

Here is the caller graph for this function:

PointS3< FT > point ( int  i) const

Definition at line 156 of file LineS3.h.

References ORIGIN.

157 { return PointS3<FT>(point() + FT(i) * (e1 - ORIGIN)); }
blockLoc i
Definition: read.cpp:79
PointS3< FT > point() const
Definition: LineS3.h:145
Origin ORIGIN
Definition: Origin.C:61
PointS3< FT > e1
Definition: LineS3.h:94
PointS3< FT > projection ( const PointS3< FT > &  p) const

Definition at line 171 of file LineS3.h.

172 {
173  return point() + ( ((direction().vector() * (p - point())) /
174  (direction().vector() * direction().vector()))
175  * direction().vector() );
176 }
PointS3< FT > point() const
Definition: LineS3.h:145
DirectionS3< FT > direction() const
Definition: LineS3.h:150
LineS3< FT > transform ( const Aff_transformationS3< FT > &  t) const
inline

Definition at line 193 of file LineS3.h.

References Aff_transformationS3< FT >::transform().

194 { return LineS3<FT>( t.transform(point()), t.transform(direction())); }
PointS3< FT > point() const
Definition: LineS3.h:145
PointS3< FT > transform(const PointS3< FT > &p) const
DirectionS3< FT > direction() const
Definition: LineS3.h:150
Definition: LineS3.h:59

Here is the call graph for this function:

Member Data Documentation

PointS3<FT> e0

Definition at line 93 of file LineS3.h.

PointS3<FT> e1

Definition at line 94 of file LineS3.h.


The documentation for this class was generated from the following file: