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

#include <Aff_transformationS2.h>

Inheritance diagram for Rotation_repS2< FT >:
Collaboration diagram for Rotation_repS2< FT >:

Public Member Functions

 Rotation_repS2 ()
 
 Rotation_repS2 (const FT &sinus, const FT &cosinus)
 
 Rotation_repS2 (const DirectionS2< FT > &d, const FT &eps_num, const FT &eps_den=FT(1))
 
 ~Rotation_repS2 ()
 
PointS2< FT > transform (const PointS2< FT > &p) const
 
VectorS2< FT > transform (const VectorS2< FT > &v) const
 
DirectionS2< FT > transform (const DirectionS2< FT > &d) const
 
Aff_transformationS2< FT > inverse () const
 
Aff_transformationS2< FT > operator* (const Aff_transformation_rep_baseS2< FT > &t)
 
Aff_transformationS2< FT > compose (const Translation_repS2< FT > &t) const
 
virtual Aff_transformationS2< FT > compose (const Rotation_repS2< FT > &t) const
 
virtual Aff_transformationS2< FT > compose (const Scaling_repS2< FT > &t) const
 
virtual Aff_transformationS2< FT > compose (const Aff_transformation_repS2< FT > &t) const
 
virtual bool is_even () const
 
virtual FT cartesian (int i, int j) const
 
virtual std::ostream & print (std::ostream &os) const
 
- Public Member Functions inherited from Aff_transformation_rep_baseS2< FT >
virtual ~Aff_transformation_rep_baseS2 ()
 

Private Attributes

FT _sinus
 
FT _cosinus
 

Friends

class Aff_transformation_repS2< FT >
 
class Translation_repS2< FT >
 
class Scaling_repS2< FT >
 

Additional Inherited Members

Detailed Description

template<class FT>
class Rotation_repS2< FT >

Definition at line 74 of file Aff_transformationS2.h.

Constructor & Destructor Documentation

Rotation_repS2 ( )
inline

Definition at line 419 of file Aff_transformationS2.h.

420  {}
Rotation_repS2 ( const FT &  sinus,
const FT &  cosinus 
)
inline

Definition at line 422 of file Aff_transformationS2.h.

423  : _sinus(sinus), _cosinus(cosinus)
424  {}
Rotation_repS2 ( const DirectionS2< FT > &  d,
const FT &  eps_num,
const FT &  eps_den = FT(1) 
)
inline

Definition at line 426 of file Aff_transformationS2.h.

References Rotation_repS2< FT >::_cosinus, Rotation_repS2< FT >::_sinus, cos_num, denom, eps_den, eps_num, rational_rotation_approximation(), sin_num, and DirectionS2< FT >::vector().

429  {
430  FT sin_num;
431  FT cos_num;
432  FT denom;
433 
435  d.vector().y(),
436  sin_num,
437  cos_num,
438  denom,
439  eps_num,
440  eps_den);
441  _sinus = sin_num/denom;
442  _cosinus = cos_num/denom;
443  }
CGAL_BEGIN_NAMESPACE void const NT NT NT & cos_num
VectorS2< FT > vector() const
Definition: DirectionS2.h:177
void rational_rotation_approximation(const double &angle, NT &sin_num, NT &cos_num, NT &denom, const NT &eps_num, const NT &eps_den)
CGAL_BEGIN_NAMESPACE void const NT NT NT NT const NT const NT & eps_den
CGAL_BEGIN_NAMESPACE void const NT NT & sin_num
CGAL_BEGIN_NAMESPACE void const NT NT NT NT & denom
CGAL_BEGIN_NAMESPACE void const NT NT NT NT const NT & eps_num

Here is the call graph for this function:

~Rotation_repS2 ( )
inline

Definition at line 445 of file Aff_transformationS2.h.

446  {}

Member Function Documentation

virtual FT cartesian ( int  i,
int  j 
) const
inlinevirtual

Implements Aff_transformation_rep_baseS2< FT >.

Definition at line 537 of file Aff_transformationS2.h.

References Rotation_repS2< FT >::_cosinus, and Rotation_repS2< FT >::_sinus.

538  {
539  switch (i)
540  {
541  case 0: switch (j)
542  {
543  case 0: return _cosinus;
544  case 1: return -_sinus;
545  case 2: return FT(0);
546  }
547  case 1: switch (j)
548  {
549  case 0: return _sinus;
550  case 1: return _cosinus;
551  case 2: return FT(0);
552  }
553  case 2: switch (j)
554  {
555  case 0: return FT(0);
556  case 1: return FT(0);
557  case 2: return FT(1);
558  }
559  }
560  return FT(0);
561  }
blockLoc i
Definition: read.cpp:79
j indices j
Definition: Indexing.h:6
virtual bool is_even ( ) const
inlinevirtual

Implements Aff_transformation_rep_baseS2< FT >.

Definition at line 532 of file Aff_transformationS2.h.

533  {
534  return true;
535  }
Aff_transformationS2<FT> operator* ( const Aff_transformation_rep_baseS2< FT > &  t)
inlinevirtual

Implements Aff_transformation_rep_baseS2< FT >.

Definition at line 482 of file Aff_transformationS2.h.

References Aff_transformation_rep_baseS2< FT >::compose().

484  {
485  return t.compose(*this);
486  }
virtual Aff_transformationS2< FT > compose(const Translation_repS2< FT > &t) const =0

Here is the call graph for this function:

virtual std::ostream& print ( std::ostream &  os) const
inlinevirtual

Definition at line 563 of file Aff_transformationS2.h.

References Rotation_repS2< FT >::_cosinus, and Rotation_repS2< FT >::_sinus.

564  {
565  os << "Aff_transformationS2(" << _sinus << ", " << _cosinus << ")";
566  return os;
567  }
PointS2<FT> transform ( const PointS2< FT > &  p) const
inlinevirtual

Implements Aff_transformation_rep_baseS2< FT >.

Definition at line 448 of file Aff_transformationS2.h.

References Rotation_repS2< FT >::_cosinus, Rotation_repS2< FT >::_sinus, PointS2< FT >::x(), and PointS2< FT >::y().

Here is the call graph for this function:

VectorS2<FT> transform ( const VectorS2< FT > &  v) const
inlinevirtual
DirectionS2<FT> transform ( const DirectionS2< FT > &  d) const
inlinevirtual

Implements Aff_transformation_rep_baseS2< FT >.

Definition at line 460 of file Aff_transformationS2.h.

References Rotation_repS2< FT >::_cosinus, Rotation_repS2< FT >::_sinus, v, DirectionS2< FT >::vector(), VectorS2< FT >::x(), and VectorS2< FT >::y().

461  {
462  VectorS2<FT> v = d.vector();
463  return DirectionS2<FT>(_cosinus * v.x() - _sinus * v.y(),
464  _sinus * v.x() + _cosinus * v.y());
465  }
*********************************************************************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
VectorS2< FT > vector() const
Definition: DirectionS2.h:177

Here is the call graph for this function:

Friends And Related Function Documentation

friend class Aff_transformation_repS2< FT >
friend

Definition at line 415 of file Aff_transformationS2.h.

friend class Scaling_repS2< FT >
friend

Definition at line 417 of file Aff_transformationS2.h.

friend class Translation_repS2< FT >
friend

Definition at line 416 of file Aff_transformationS2.h.

Member Data Documentation


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