Overture  Version 25
LineMapping.h
Go to the documentation of this file.
1 #ifndef LINE_MAPPING_H
2 #define LINE_MAPPING_H "Line.h"
3 
4 #include "Mapping.h"
5 
6 class LineMapping : public Mapping
7 {
8 //-------------------------------------------------------------
9 // Here is a derived class to define a Line in 1D, 2D or 3D
10 //-------------------------------------------------------------
11 private:
12  aString className;
13  real xa,xb,ya,yb,za,zb;
14 
15 public:
16 
17  LineMapping(const real xa=0.,
18  const real xb=1.,
19  const int numberOfGridPoints=11);
20  LineMapping(const real xa, const real ya,
21  const real xb, const real yb,
22  const int numberOfGridPoints=11);
23  LineMapping(const real xa, const real ya, const real za,
24  const real xb, const real yb, const real zb,
25  const int numberOfGridPoints=11);
26 
27 
28  // Copy constructor is deep by default
29  LineMapping( const LineMapping &, const CopyType copyType=DEEP );
30 
31  ~LineMapping();
32 
33  LineMapping & operator =( const LineMapping & X0 );
34 
35  int getPoints( real & xa, real & xb ) const;
36  int getPoints( real & xa, real & ya,
37  real & xb, real & yb ) const;
38  int getPoints( real & xa, real & ya, real & za,
39  real & xb, real & yb, real & zb ) const;
40 
41 
42  int setPoints( const real & xa, const real & xb );
43  int setPoints( const real & xa, const real & ya,
44  const real & xb, const real & yb );
45  int setPoints( const real & xa, const real & ya, const real & za,
46  const real & xb, const real & yb, const real & zb );
47 
50 
53 
54  virtual void mapS( const RealArray & r, RealArray & x, RealArray &xr = Overture::nullRealArray(),
56 
57  virtual void basicInverseS(const RealArray & x,
58  RealArray & r,
61 
62  virtual int get( const GenericDataBase & dir, const aString & name); // get from a database file
63  virtual int put( GenericDataBase & dir, const aString & name) const; // put to a database file
64 
66  aString getClassName() const { return LineMapping::className; }
67 
68  int update( MappingInformation & mapInfo ) ;
69 
70  private:
71 
72  //
73  // Virtual member functions used only through class ReferenceCounting:
74  //
76  { return operator=((LineMapping &)x); }
77  virtual void reference( const ReferenceCounting& x)
78  { reference((LineMapping &)x); } // *** Conversion to this class for the virtual = ****
79  virtual ReferenceCounting* virtualConstructor( const CopyType ct = DEEP ) const
80  { return ::new LineMapping(*this, ct); }
81 
82 };
83 
84 
85 #endif // LINE_MAPPING_H