xc
Trf.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // xc utils library; general purpose classes and functions.
4 //
5 // Copyright (C) Luis C. PĂ©rez Tato
6 //
7 // XC utils is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // This software is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program.
19 // If not, see <http://www.gnu.org/licenses/>.
20 //----------------------------------------------------------------------------
21 //Trf.h
22 //Geometric transformation.
23 
24 #ifndef TRF_H
25 #define TRF_H
26 
27 #include "../cgal_types.h"
28 #include "utility/kernel/CommandEntity.h"
29 
30 class FT_matrix;
31 
32 
34 //
36 class Trf: public CommandEntity
37  {
38  public:
39  inline virtual ~Trf(void) {}
42  // - -
43  // | m11 m12 m13 |
44  // | m21 m22 m23 |
45  // | 0 0 1 |
46  // - -
47  virtual GEOM_FT Cartesianas(const size_t &i,const size_t &j) const= 0;
48 
51  // - -
52  // | m11 m12 m13 |
53  // | m21 m22 m23 |
54  // | 0 0 hw |
55  // - -
56  virtual GEOM_FT Homogeneas(const size_t &i,const size_t &j) const= 0;
59  virtual FT_matrix Cartesianas(void) const= 0;
62  virtual FT_matrix Homogeneas(void) const= 0;
63  };
64 
65 #endif
virtual FT_matrix Cartesianas(void) const =0
Return the tranformation matrix expressed in cartesian coordinates.
virtual FT_matrix Homogeneas(void) const =0
Return the tranformation matrix expressed in homogenous coordinates.
Base class for coordinate transformation.
Definition: Trf.h:36
Objet that can execute python scripts.
Definition: CommandEntity.h:40
Matrix which components are GEOM_FT numbers.
Definition: FT_matrix.h:40