xc
Rect3d3dCooSys.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 //Rect3d3dCooSys.h
22 //Three-dimensional coordinate system defined in a three-dimensional space.
23 
24 #ifndef RECT3D3D_COO_SYS_H
25 #define RECT3D3D_COO_SYS_H
26 
27 #include "Xd3dCooSys.h"
28 
30 //
34  {
35  public:
36  typedef Vector3d VLocal; //Dimensión del vector en locales.
37  typedef Pos3d PLocal; //Dimensión del vector en locales.
38  public:
39  Rect3d3dCooSys(void): Xd3dCooSys(3) {}
40  Rect3d3dCooSys(const PGlobal &o,const PGlobal &p);
41  Rect3d3dCooSys(const PGlobal &p1,const PGlobal &p2, const PGlobal &p3);
42  Rect3d3dCooSys(const VGlobal &v1,const VGlobal &v2,const VGlobal &v3);
43  Rect3d3dCooSys(const VGlobal &v1,const VGlobal &v2);
44  virtual CooSys *Copia(void) const
45  { return new Rect3d3dCooSys(*this); }
46  virtual Xd3dCooSys *CopiaXd3d(void) const
47  { return new Rect3d3dCooSys(*this); }
48 
49  VGlobal getIVector(void) const; //Return unary vector I in global coordinates.
50  VGlobal getJVector(void) const; //Return unary vector J in global coordinates.
51  VGlobal getKVector(void) const; //Return unary vector K in global coordinates.
52 
53  VGlobal getGlobalCoordinates(const VLocal &v) const;
54  VLocal getLocalCoordinates(const VGlobal &v) const;
55  virtual ~Rect3d3dCooSys(void)
56  {}
57  };
58 
59 #endif
VGlobal getKVector(void) const
Return the unary vector K in global coordinates.
Definition: Rect3d3dCooSys.cc:42
VLocal getLocalCoordinates(const VGlobal &v) const
Return the local coordinates of the vector.
Definition: Rect3d3dCooSys.cc:54
Base class for coordinate systems defined in a three-dimensional space.
Definition: Xd3dCooSys.h:37
Three-dimensional coordinate system defined in a three-dimensional space.
Definition: Rect3d3dCooSys.h:33
VGlobal getIVector(void) const
Return the unary vector I in global coordinates.
Definition: Rect3d3dCooSys.cc:36
VGlobal getJVector(void) const
Return the unary vector J in global coordinates.
Definition: Rect3d3dCooSys.cc:39
Posición en tres dimensiones.
Definition: Pos3d.h:44
Coordinate systems base class.
Definition: CooSys.h:38
Vector en tres dimensiones.
Definition: Vector3d.h:39
VGlobal getGlobalCoordinates(const VLocal &v) const
Return the global coordinates of the vector.
Definition: Rect3d3dCooSys.cc:48