Overture  Version 25
PlaneMapping.h
Go to the documentation of this file.
1 #ifndef PLANE_MAPPING
2 #define PLANE_MAPPING
3 
4 #include "Mapping.h"
5 
6 class PlaneMapping : public Mapping{
7 //-------------------------------------------------------------
8 // Here is a Mapping class to define a plane in 3D
9 //-------------------------------------------------------------
10  public:
14 
15  PlaneMapping(const real & x1=0., const real & y1=0., const real & z1=0.,
16  const real & x2=1., const real & y2=0., const real & z2=0.,
17  const real & x3=0., const real & y3=1., const real & z3=0.);
18 
19 
20  // Copy constructor is deep by default
21  PlaneMapping( const PlaneMapping &, const CopyType copyType=DEEP );
22 
23  ~PlaneMapping();
24 
25  PlaneMapping & operator =( const PlaneMapping & X );
26 
27  int setPoints(const real & x1=0., const real & y1=0., const real & z1=0.,
28  const real & x2=1., const real & y2=0., const real & z2=0.,
29  const real & x3=0., const real & y3=1., const real & z3=0.);
30 
31  virtual int get( const GenericDataBase & dir, const aString & name); // get from a database file
32  virtual int put( GenericDataBase & dir, const aString & name) const; // put to a database file
33 
35 
37 
40 
43 
44  virtual void mapS( const RealArray & r, RealArray & x, RealArray &xr = Overture::nullRealArray(),
46 
47  virtual void basicInverseS(const RealArray & x,
48  RealArray & r,
51 
52  int update( MappingInformation & mapInfo ) ;
53 
54  protected:
56 
57  private:
58 
59  //
60  // Virtual member functions used only through class ReferenceCounting:
61  //
63  { return operator=((PlaneMapping &)x); }
64  virtual void reference( const ReferenceCounting& x)
65  { reference((PlaneMapping &)x); } // *** Conversion to this class for the virtual = ****
66  virtual ReferenceCounting* virtualConstructor( const CopyType ct = DEEP ) const
67  { return ::new PlaneMapping(*this, ct); }
68 };
69 
70 #endif