51 #ifndef CGAL_AFF_TRANSFORMATION_3_H
52 #define CGAL_AFF_TRANSFORMATION_3_H
54 #ifndef CGAL_REP_CLASS_DEFINED
55 #error no representation class defined
56 #endif // CGAL_REP_CLASS_DEFINED
58 #if defined(CGAL_CFG_INCOMPLETE_TYPE_BUG_1) && \
59 !defined(CGAL_NO_PLANE_TRANSFORM_IN_AT)
60 #define CGAL_NO_PLANE_TRANSFORM_IN_AT
61 #endif // CGAL_CFG_INCOMPLETE_TYPE_BUG_1
63 #ifdef CGAL_HOMOGENEOUS_H
64 #include <CGAL/Aff_transformationH3.h>
65 #endif // CGAL_HOMOGENEOUS_H
67 #ifdef CGAL_CARTESIAN_H
68 #include <CGAL/Cartesian/Aff_transformation_3.h>
69 #endif // CGAL_CARTESIAN_H
71 #ifdef CGAL_SIMPLE_CARTESIAN_H
73 #endif // CGAL_SIMPLE_CARTESIAN_H
88 typedef typename R::RT
RT;
89 typedef typename R::FT
FT;
114 const CGAL::Vector_3<R>&
v)
127 const RT& m11,
const RT& m12,
const RT& m13,
const RT& m14,
128 const RT& m21,
const RT& m22,
const RT& m23,
const RT& m24,
129 const RT& m31,
const RT& m32,
const RT& m33,
const RT& m34,
137 const RT& m11,
const RT& m12,
const RT& m13,
138 const RT& m21,
const RT& m22,
const RT& m23,
139 const RT& m31,
const RT& m32,
const RT& m33,
140 const RT& w =
RT(1) )
150 CGAL::Point_3<R>
transform(
const CGAL::Point_3<R>& p)
const
151 {
return RAff_transformation_3::transform(p); }
153 {
return RAff_transformation_3::transform(p); }
154 CGAL::Vector_3<R>
transform(
const CGAL::Vector_3<R>&
v)
const
155 {
return RAff_transformation_3::transform(v); }
157 {
return RAff_transformation_3::transform(v); }
158 CGAL::Direction_3<R>
transform(
const CGAL::Direction_3<R>&
d)
const
159 {
return RAff_transformation_3::transform(d); }
160 CGAL::Direction_3<R>
operator()(
const CGAL::Direction_3<R>&
d)
const
161 {
return RAff_transformation_3::transform(d); }
162 #ifndef CGAL_NO_PLANE_TRANSFORM_IN_AT
163 CGAL::Plane_3<R>
transform(
const CGAL::Plane_3<R>& pl)
const
164 {
return RAff_transformation_3::transform(pl); }
167 transform(
const CGAL::Plane_3<R>& pl)
const
172 #endif // CGAL_NO_PLANE_TRANSFORM_IN_AT
173 CGAL::Plane_3<R>
operator()(
const CGAL::Plane_3<R>& pl)
const
176 CGAL::Aff_transformation_3<R>
178 {
return RAff_transformation_3::inverse(); }
180 {
return RAff_transformation_3::is_even(); }
185 {
return RAff_transformation_3::cartesian(i,j); }
187 {
return RAff_transformation_3::homogeneous(i,j); }
189 {
return RAff_transformation_3::m(i,j); }
191 {
return RAff_transformation_3::hm(i,j); }
193 CGAL::Aff_transformation_3<R>
203 #ifndef NO_OSTREAM_INSERT_AFF_TRANSFORMATION_3
206 operator<<(std::ostream& os, const CGAL::Aff_transformation_3<R>& t)
208 typedef typename R::Aff_transformation_3_base RAff_transformation_3;
209 return os << static_cast<const RAff_transformation_3&>(t);
211 #endif // NO_OSTREAM_INSERT_AFF_TRANSFORMATION_3
213 #ifndef NO_ISTREAM_EXTRACT_AFF_TRANSFORMATION_3
216 operator>>(std::istream& is, CGAL::Aff_transformation_3<R>& t)
218 typedef typename R::Aff_transformation_3_base RAff_transformation_3;
219 return is >>
static_cast<const RAff_transformation_3&
>(t);
221 #endif // NO_ISTREAM_EXTRACT_AFF_TRANSFORMATION_3
226 #endif // CGAL_AFF_TRANSFORMATION_3_H
*********************************************************************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
#define CGAL_BEGIN_NAMESPACE
#define CGAL_END_NAMESPACE