- Merged Aff_transformation_[23].C in the corresponding .h .

This commit is contained in:
Sylvain Pion 2000-11-10 16:16:25 +00:00
parent 9828708d42
commit 36df09314b
5 changed files with 256 additions and 324 deletions

View File

@ -54,8 +54,6 @@
#include <CGAL/Cartesian/basic_constructions_2.h>
#include <CGAL/Cartesian/Aff_transformation_2.C>
// #include <CGAL/Kernel/Construction_objects_2.h>
// #include <CGAL/Kernel/Predicate_objects_2.h>
#include <CGAL/predicate_objects_on_points_2.h>
@ -81,8 +79,6 @@
#include <CGAL/Cartesian/basic_constructions_3.h>
#include <CGAL/Cartesian/Aff_transformation_3.C>
// #include <CGAL/Kernel/Construction_objects_3.h>
// #include <CGAL/Kernel/Predicate_objects_3.h>

View File

@ -1,169 +0,0 @@
// ======================================================================
//
// Copyright (c) 2000 The CGAL Consortium
//
// This software and related documentation is part of an INTERNAL release
// of the Computational Geometry Algorithms Library (CGAL). It is not
// intended for general use.
//
// ----------------------------------------------------------------------
//
// release :
// release_date :
//
// file : include/CGAL/Cartesian/Aff_transformation_2.C
// revision : $Revision$
// revision_date : $Date$
// author(s) : Andreas Fabri, Lutz Kettner
// coordinator : INRIA Sophia-Antipolis (Mariette.Yvinec@sophia.inria.fr)
//
// ======================================================================
#ifndef CGAL_CARTESIAN_AFF_TRANSFORMATION_2_C
#define CGAL_CARTESIAN_AFF_TRANSFORMATION_2_C
#ifdef CGAL_CFG_TYPENAME_BUG
#define typename
#endif
CGAL_BEGIN_NAMESPACE
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2()
{
PTR = new Aff_transformation_repC2<R>(FT(1), FT(0), FT(0), FT(1));
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(const Identity_transformation)
{
PTR = new Aff_transformation_repC2<R>(FT(1), FT(0), FT(0), FT(1));
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::Aff_transformationC2
(const Aff_transformationC2<R CGAL_CTAG> &t)
: Handle(t)
{}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const typename Aff_transformationC2<R CGAL_CTAG>::FT & m11,
const typename Aff_transformationC2<R CGAL_CTAG>::FT & m12,
const typename Aff_transformationC2<R CGAL_CTAG>::FT & m21,
const typename Aff_transformationC2<R CGAL_CTAG>::FT & m22,
const typename Aff_transformationC2<R CGAL_CTAG>::FT & w)
{
PTR = new Aff_transformation_repC2<R>(m11/w, m12/w, m21/w, m22/w);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const Translation,
const typename Aff_transformationC2<R CGAL_CTAG>::Vector_2 &v)
{
PTR = new Translation_repC2<R>(v);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const Rotation,
const typename Aff_transformationC2<R CGAL_CTAG>::Direction_2 &d,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &num,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &den)
{
PTR = new Rotation_repC2<R>(d, num, den);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const Rotation,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &sine,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &cosine,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &w)
{
if (w != FT(1)) // Idem...
PTR = new Rotation_repC2<R>(sine/w, cosine/w);
else
PTR = new Rotation_repC2<R>(sine, cosine);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(const Scaling,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &s,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &w)
{
if (w != FT(1)) // ....
PTR = new Scaling_repC2<R>(s/w);
else
PTR = new Scaling_repC2<R>(s);
}
// and a 3x2 matrix for the operations combining rotation, scaling, translation
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m11,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m12,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m13,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m21,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m22,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m23,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &w)
{
if (w != FT(1)) // ...
PTR = new Aff_transformation_repC2<R>(m11/w, m12/w, m13/w,
m21/w, m22/w, m23/w);
else
PTR = new Aff_transformation_repC2<R>(m11, m12, m13,
m21, m22, m23);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::~Aff_transformationC2()
{}
template < class R >
Aff_transformationC2<R CGAL_CTAG> &
Aff_transformationC2<R CGAL_CTAG>::
operator=(const Aff_transformationC2<R CGAL_CTAG> &t)
{
Handle::operator=(t);
return *this;
}
template < class R >
std::ostream&
Aff_transformationC2<R CGAL_CTAG>::print(std::ostream &os) const
{
ptr()->print(os);
return os;
}
#ifndef CGAL_NO_OSTREAM_INSERT_AFF_TRANSFORMATIONC2
template < class R >
std::ostream&
operator<<(std::ostream& os, const Aff_transformationC2<R CGAL_CTAG>& t)
{
t.print(os);
return os;
}
#endif // CGAL_NO_OSTREAM_INSERT_AFF_TRANSFORMATIONC2
#ifndef CGAL_NO_ISTREAM_EXTRACT_AFF_TRANSFORMATIONC2
#endif // CGAL_NO_ISTREAM_EXTRACT_AFF_TRANSFORMATIONC2
CGAL_END_NAMESPACE
#ifdef CGAL_CFG_TYPENAME_BUG
#undef typename
#endif
#endif // CGAL_CARTESIAN_AFF_TRANSFORMATION_2_C

View File

@ -148,10 +148,147 @@ private:
Aff_t_base* ptr() const { return (Aff_t_base*)PTR; }
};
CGAL_END_NAMESPACE
#ifndef CGAL_CARTESIAN_CLASS_DEFINED
#include <CGAL/Cartesian/Aff_transformation_2.C>
#ifdef CGAL_CFG_TYPENAME_BUG
#define typename
#endif
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2()
{
PTR = new Aff_transformation_repC2<R>(FT(1), FT(0), FT(0), FT(1));
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(const Identity_transformation)
{
PTR = new Aff_transformation_repC2<R>(FT(1), FT(0), FT(0), FT(1));
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::Aff_transformationC2
(const Aff_transformationC2<R CGAL_CTAG> &t)
: Handle(t)
{}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const typename Aff_transformationC2<R CGAL_CTAG>::FT & m11,
const typename Aff_transformationC2<R CGAL_CTAG>::FT & m12,
const typename Aff_transformationC2<R CGAL_CTAG>::FT & m21,
const typename Aff_transformationC2<R CGAL_CTAG>::FT & m22,
const typename Aff_transformationC2<R CGAL_CTAG>::FT & w)
{
PTR = new Aff_transformation_repC2<R>(m11/w, m12/w, m21/w, m22/w);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const Translation,
const typename Aff_transformationC2<R CGAL_CTAG>::Vector_2 &v)
{
PTR = new Translation_repC2<R>(v);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const Rotation,
const typename Aff_transformationC2<R CGAL_CTAG>::Direction_2 &d,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &num,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &den)
{
PTR = new Rotation_repC2<R>(d, num, den);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const Rotation,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &sine,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &cosine,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &w)
{
if (w != FT(1)) // Idem...
PTR = new Rotation_repC2<R>(sine/w, cosine/w);
else
PTR = new Rotation_repC2<R>(sine, cosine);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(const Scaling,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &s,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &w)
{
if (w != FT(1)) // ....
PTR = new Scaling_repC2<R>(s/w);
else
PTR = new Scaling_repC2<R>(s);
}
// and a 3x2 matrix for the operations combining rotation, scaling, translation
template < class R >
Aff_transformationC2<R CGAL_CTAG>::
Aff_transformationC2(
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m11,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m12,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m13,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m21,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m22,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &m23,
const typename Aff_transformationC2<R CGAL_CTAG>::FT &w)
{
if (w != FT(1)) // ...
PTR = new Aff_transformation_repC2<R>(m11/w, m12/w, m13/w,
m21/w, m22/w, m23/w);
else
PTR = new Aff_transformation_repC2<R>(m11, m12, m13,
m21, m22, m23);
}
template < class R >
Aff_transformationC2<R CGAL_CTAG>::~Aff_transformationC2()
{}
template < class R >
Aff_transformationC2<R CGAL_CTAG> &
Aff_transformationC2<R CGAL_CTAG>::
operator=(const Aff_transformationC2<R CGAL_CTAG> &t)
{
Handle::operator=(t);
return *this;
}
template < class R >
std::ostream&
Aff_transformationC2<R CGAL_CTAG>::print(std::ostream &os) const
{
ptr()->print(os);
return os;
}
#ifndef CGAL_NO_OSTREAM_INSERT_AFF_TRANSFORMATIONC2
template < class R >
std::ostream&
operator<<(std::ostream& os, const Aff_transformationC2<R CGAL_CTAG>& t)
{
t.print(os);
return os;
}
#endif // CGAL_NO_OSTREAM_INSERT_AFF_TRANSFORMATIONC2
#ifndef CGAL_NO_ISTREAM_EXTRACT_AFF_TRANSFORMATIONC2
#endif // CGAL_NO_ISTREAM_EXTRACT_AFF_TRANSFORMATIONC2
#ifdef CGAL_CFG_TYPENAME_BUG
#undef typename
#endif
CGAL_END_NAMESPACE
#endif // CGAL_CARTESIAN_AFF_TRANSFORMATION_2_H

View File

@ -1,144 +0,0 @@
// ======================================================================
//
// Copyright (c) 2000 The CGAL Consortium
//
// This software and related documentation is part of an INTERNAL release
// of the Computational Geometry Algorithms Library (CGAL). It is not
// intended for general use.
//
// ----------------------------------------------------------------------
//
// release :
// release_date :
//
// file : include/CGAL/Cartesian/Aff_transformation_3.C
// revision : $Revision$
// revision_date : $Date$
// author(s) : Andreas Fabri
// coordinator : INRIA Sophia-Antipolis (Mariette.Yvinec@sophia.inria.fr)
//
// ======================================================================
#ifndef CGAL_CARTESIAN_AFF_TRANSFORMATION_3_C
#define CGAL_CARTESIAN_AFF_TRANSFORMATION_3_C
#ifdef CGAL_CFG_TYPENAME_BUG
#define typename
#endif
CGAL_BEGIN_NAMESPACE
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3()
{
FT ft1(1), ft0(0);
PTR = new Aff_transformation_repC3<R>(ft1, ft0, ft0,
ft0, ft1, ft0,
ft0, ft0, ft1);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(const Identity_transformation &)
{
FT ft1(1), ft0(0);
PTR = new Aff_transformation_repC3<R>(ft1, ft0, ft0,
ft0, ft1, ft0,
ft0, ft0, ft1);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(
const Translation,
const typename Aff_transformationC3<R CGAL_CTAG>::Vector_3 &v)
{
PTR = new Translation_repC3<R>(v);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(const Scaling,
const typename Aff_transformationC3<R CGAL_CTAG>::FT &s,
const typename Aff_transformationC3<R CGAL_CTAG>::FT &w)
{
if (w != FT(1))
PTR = new Scaling_repC3<R>(s/w);
else
PTR = new Scaling_repC3<R>(s);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(const typename Aff_transformationC3<R CGAL_CTAG>::FT& m11,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m12,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m13,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m14,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m21,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m22,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m23,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m24,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m31,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m32,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m33,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m34,
const typename Aff_transformationC3<R CGAL_CTAG>::FT &w)
{
if (w != FT(1))
PTR = new Aff_transformation_repC3<R>(m11/w, m12/w, m13/w, m14/w,
m21/w, m22/w, m23/w, m24/w,
m31/w, m32/w, m33/w, m34/w);
else
PTR = new Aff_transformation_repC3<R>(m11, m12, m13, m14,
m21, m22, m23, m24,
m31, m32, m33, m34);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(const typename Aff_transformationC3<R CGAL_CTAG>::FT& m11,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m12,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m13,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m21,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m22,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m23,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m31,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m32,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m33,
const typename Aff_transformationC3<R CGAL_CTAG>::FT &w)
{
if (w != FT(1))
PTR = new Aff_transformation_repC3<R>(m11/w, m12/w, m13/w,
m21/w, m22/w, m23/w,
m31/w, m32/w, m33/w);
else
PTR = new Aff_transformation_repC3<R>(m11, m12, m13,
m21, m22, m23,
m31, m32, m33);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::~Aff_transformationC3()
{}
#ifndef CGAL_NO_OSTREAM_INSERT_AFF_TRANSFORMATIONC3
template < class R >
std::ostream &operator<<(std::ostream &os,
const Aff_transformationC3<R CGAL_CTAG> &t)
{
t.print(os);
return os;
}
#endif // CGAL_NO_OSTREAM_INSERT_AFF_TRANSFORMATIONC3
#ifndef CGAL_NO_ISTREAM_EXTRACT_AFF_TRANSFORMATIONC3
#endif // CGAL_NO_ISTREAM_EXTRACT_AFF_TRANSFORMATIONC3
CGAL_END_NAMESPACE
#ifdef CGAL_CFG_TYPENAME_BUG
#undef typename
#endif
#endif // CGAL_CARTESIAN_AFF_TRANSFORMATION_3_C

View File

@ -133,10 +133,122 @@ private:
Aff_t_base* ptr() const { return (Aff_t_base*)PTR; }
};
#ifdef CGAL_CFG_TYPENAME_BUG
#define typename
#endif
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3()
{
FT ft1(1), ft0(0);
PTR = new Aff_transformation_repC3<R>(ft1, ft0, ft0,
ft0, ft1, ft0,
ft0, ft0, ft1);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(const Identity_transformation &)
{
FT ft1(1), ft0(0);
PTR = new Aff_transformation_repC3<R>(ft1, ft0, ft0,
ft0, ft1, ft0,
ft0, ft0, ft1);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(
const Translation,
const typename Aff_transformationC3<R CGAL_CTAG>::Vector_3 &v)
{
PTR = new Translation_repC3<R>(v);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(const Scaling,
const typename Aff_transformationC3<R CGAL_CTAG>::FT &s,
const typename Aff_transformationC3<R CGAL_CTAG>::FT &w)
{
if (w != FT(1))
PTR = new Scaling_repC3<R>(s/w);
else
PTR = new Scaling_repC3<R>(s);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(const typename Aff_transformationC3<R CGAL_CTAG>::FT& m11,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m12,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m13,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m14,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m21,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m22,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m23,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m24,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m31,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m32,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m33,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m34,
const typename Aff_transformationC3<R CGAL_CTAG>::FT &w)
{
if (w != FT(1))
PTR = new Aff_transformation_repC3<R>(m11/w, m12/w, m13/w, m14/w,
m21/w, m22/w, m23/w, m24/w,
m31/w, m32/w, m33/w, m34/w);
else
PTR = new Aff_transformation_repC3<R>(m11, m12, m13, m14,
m21, m22, m23, m24,
m31, m32, m33, m34);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::
Aff_transformationC3(const typename Aff_transformationC3<R CGAL_CTAG>::FT& m11,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m12,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m13,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m21,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m22,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m23,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m31,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m32,
const typename Aff_transformationC3<R CGAL_CTAG>::FT& m33,
const typename Aff_transformationC3<R CGAL_CTAG>::FT &w)
{
if (w != FT(1))
PTR = new Aff_transformation_repC3<R>(m11/w, m12/w, m13/w,
m21/w, m22/w, m23/w,
m31/w, m32/w, m33/w);
else
PTR = new Aff_transformation_repC3<R>(m11, m12, m13,
m21, m22, m23,
m31, m32, m33);
}
template < class R >
Aff_transformationC3<R CGAL_CTAG>::~Aff_transformationC3()
{}
#ifndef CGAL_NO_OSTREAM_INSERT_AFF_TRANSFORMATIONC3
template < class R >
std::ostream &operator<<(std::ostream &os,
const Aff_transformationC3<R CGAL_CTAG> &t)
{
t.print(os);
return os;
}
#endif // CGAL_NO_OSTREAM_INSERT_AFF_TRANSFORMATIONC3
#ifndef CGAL_NO_ISTREAM_EXTRACT_AFF_TRANSFORMATIONC3
#endif // CGAL_NO_ISTREAM_EXTRACT_AFF_TRANSFORMATIONC3
#ifdef CGAL_CFG_TYPENAME_BUG
#undef typename
#endif
CGAL_END_NAMESPACE
#ifndef CGAL_CARTESIAN_CLASS_DEFINED
#include <CGAL/Cartesian/Aff_transformation_3.C>
#endif
#endif // CGAL_CARTESIAN_AFF_TRANSFORMATION_3_H