Overture  Version 25
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SplineMapping Class Reference

#include <SplineMapping.h>

Inheritance diagram for SplineMapping:
Inheritance graph
[legend]
Collaboration diagram for SplineMapping:
Collaboration graph
[legend]

Public Types

enum  ParameterizationType { index, arcLength, userDefined }
 
enum  EndCondition { monotoneParabolicFit =0, firstDerivative, secondDerivative, free }
 
- Public Types inherited from Mapping
enum  mappingSpace { parameterSpace, cartesianSpace }
 
enum  coordinateSystem {
  cartesian, spherical, cylindrical, polar,
  toroidal, numberOfCoordinateSystems
}
 
enum  coordinateSingularity { noCoordinateSingularity, polarSingularity }
 
enum  mappingCoordinateSystem { rectangular, conformal, orthogonal, general }
 
enum  periodicType { notPeriodic, derivativePeriodic, functionPeriodic }
 
enum  topologyEnum { topologyIsNotPeriodic =0, topologyIsPeriodic, topologyIsPartiallyPeriodic }
 
enum  mappingItemName {
  mappingName, domainName, rangeName, domainAxis1Name,
  domainAxis2Name, domainAxis3Name, rangeAxis1Name, rangeAxis2Name,
  rangeAxis3Name, numberOfMappingItemNames
}
 
enum  basicInverseOptions { canDoNothing, canDetermineOutside, canInvert, canInvertWithGoodGuess }
 
typedef ArraySimpleFixed< int, 2, 3, 1, 1 > IndexRangeType
 

Public Member Functions

 SplineMapping (const int &rangeDimension=2)
 
 SplineMapping (const SplineMapping &, const CopyType copyType=DEEP)
 
 ~SplineMapping ()
 
SplineMappingoperator= (const SplineMapping &X0)
 
int getNumberOfKnots () const
 
const RealArraygetKnotsS () const
 Return the spline knots.
 
const realArraygetKnots () const
 
int parameterize (const real &arcLengthWeight=1., const real &curvatureWeight=0.)
 
int rotate (const int &axis, const real &theta)
 
int scale (const real &scalex=1., const real &scaley=1., const real &scalez=1.)
 
int shift (const real &shiftx=0., const real &shifty=0., const real &shiftz=0.)
 
int setEndConditions (const EndCondition &condition, const RealArray &endValues=Overture::nullRealArray())
 
int setParameterizationType (const ParameterizationType &type)
 
int setParameterization (const RealArray &s)
 
const RealArraygetParameterizationS () const
 
const realArraygetParameterization () const
 
int setDomainInterval (const real &rStart=0., const real &rEnd=1.)
 
int getDomainInterval (real &rStart, real &rEnd) const
 
void setIsPeriodic (const int axis, const periodicType isPeriodic)
 
int setPoints (const RealArray &x)
 
int setPoints (const RealArray &x, const RealArray &y)
 
int setPoints (const RealArray &x, const RealArray &y, const RealArray &z)
 
int setShapePreserving (const bool trueOrFalse=TRUE)
 
int setTension (const real &tension)
 
int useOldSpline (const bool &trueOrFalse=TRUE)
 
void map (const realArray &r, realArray &x, realArray &xr=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapS (const RealArray &r, RealArray &x, RealArray &xr=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual int get (const GenericDataBase &dir, const aString &name)
 
virtual int put (GenericDataBase &dir, const aString &name) const
 
Mappingmake (const aString &mappingClassName)
 
aString getClassName () const
 
int update (MappingInformation &mapInfo)
 
- Public Member Functions inherited from Mapping
 Mapping (int domainDimension=3, int rangeDimension=3, mappingSpace domainSpace=parameterSpace, mappingSpace rangeSpace=cartesianSpace, coordinateSystem domainCoordinateSystem=cartesian, coordinateSystem rangeCoordinateSystem=cartesian)
 
 Mapping (const Mapping &, const CopyType copyType=DEEP)
 
Mappingoperator= (const Mapping &X)
 
virtual ~Mapping ()
 
void reference (const Mapping &map)
 
void breakReference ()
 
virtual void inverseMap (const realArray &x, realArray &r, realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void basicInverse (const realArray &x, realArray &r, realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapC (const realArray &r, const realArray &x, const realArray &xr=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapC (const realArray &x, const realArray &r, const realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapGrid (const realArray &r, realArray &x, realArray &xr=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual int intersects (Mapping &map2, const int &side1=-1, const int &axis1=-1, const int &side2=-1, const int &axis2=-1, const real &tol=0.) const
 
virtual void inverseMapGrid (const realArray &x, realArray &r, realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapS (const RealArray &x, RealArray &r, RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void basicInverseS (const RealArray &x, RealArray &r, RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapCS (const RealArray &r, const RealArray &x, const RealArray &xr=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapCS (const RealArray &x, const RealArray &r, const RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void mapGridS (const RealArray &r, RealArray &x, RealArray &xr=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void inverseMapGridS (const RealArray &x, RealArray &r, RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual int projectS (RealArray &x, MappingProjectionParameters &mpParams)
 
virtual real sizeOf (FILE *file=NULL) const
 
virtual bool updateWithCommand (MappingInformation &mapInfo, const aString &command)
 
virtual int interactiveUpdate (GenericGraphicsInterface &gi)
 
virtual int project (realArray &x, MappingProjectionParameters &mpParams)
 
virtual void display (const aString &label=blankString) const
 
int checkMapping ()
 
void reinitialize ()
 
int determineResolution (int numberOfGridPoints[], bool collapsedEdge[2][3], real averageArclength[], real elementDensityTolerance=.05)
 
void secondOrderDerivative (const Index &I, const realArray &r, realArray &xrr, const int axis, const int &rAxis)
 
int findNearestGridPoint (RealArray &x, RealArray &r, RealArray &dista, RealArray &xa)
 Find the nearest grid point to each of a given set of points x(i,.)
 
real getArcLength ()
 
basicInverseOptions getBasicInverseOption () const
 
int getBoundaryCondition (const int side, const int axis) const
 
virtual RealArray getBoundingBox (const int &side=-1, const int &axis=-1) const
 
virtual int getBoundingBox (const IntegerArray &indexRange, const IntegerArray &gridIndexRange, RealArray &xBounds, bool local=false) const
 
virtual int getBoundingBox (const RealArray &rBounds, RealArray &xBounds) const
 
const BoundingBoxgetBoundingBoxTree (const int &side, const int &axis) const
 
int getCoordinateEvaluationType (const coordinateSystem type) const
 
Bound getDomainBound (const int side, const int axis) const
 
int getDomainDimension () const
 
coordinateSystem getDomainCoordinateSystem () const
 
Bound getDomainCoordinateSystemBound (const int side, const int axis) const
 
mappingSpace getDomainSpace () const
 
int getGridDimensions (const int axis) const
 
virtual const realArraygetGrid (MappingParameters &params=Overture::nullMappingParameters(), bool includeGhost=false)
 
virtual const RealArraygetGridSerial (MappingParameters &params=Overture::nullMappingParameters(), bool includeGhost=false)
 
int getID () const
 
int getInvertible () const
 
periodicType getIsPeriodic (const int axis) const
 
mappingCoordinateSystem getMappingCoordinateSystem () const
 
aString getName (const mappingItemName item) const
 
int getGridIndexRange (int side, int axis)
 
int getNumberOfGhostPoints (int side, int axis)
 
real getParameter (const MappingParameters::realParameter &param) const
 
int getParameter (const MappingParameters::intParameter &param) const
 
real getPeriodVector (const int axis, const int direction) const
 
Bound getRangeBound (const int side, const int axis) const
 
coordinateSystem getRangeCoordinateSystem () const
 
Bound getRangeCoordinateSystemBound (const int side, const int axis) const
 
int getRangeDimension () const
 
mappingSpace getRangeSpace () const
 
int getShare (const int side, const int axis) const
 
real getSignForJacobian () const
 
topologyEnum getTopology (const int side, const int axis) const
 
coordinateSingularity getTypeOfCoordinateSingularity (const int side, const int axis) const
 
bool gridIsValid () const
 
int hasACoordinateSingularity () const
 
intArray & topologyMask ()
 
void setArcLength (real length)
 
virtual void setBasicInverseOption (const basicInverseOptions option)
 
virtual void setBoundaryCondition (const int side, const int axis, const int bc)
 
virtual void setCoordinateEvaluationType (const coordinateSystem type, const int trueOrFalse)
 
virtual void setDomainBound (const int side, const int axis, const Bound domainBound)
 
virtual void setDomainCoordinateSystem (const coordinateSystem domainCoordinateSystem)
 
virtual void setDomainCoordinateSystemBound (const int side, const int axis, const Bound domainCoordinateSystemBound)
 
virtual void setDomainDimension (const int domainDimension)
 
virtual void setDomainSpace (const mappingSpace domainSpace)
 
virtual void setGrid (realArray &grid, IntegerArray &gridIndexRange)
 
virtual void setGridDimensions (const int axis, const int dim)
 
virtual void setInvertible (const int invertible)
 
void setID ()
 
virtual void setMappingCoordinateSystem (const mappingCoordinateSystem mappingCoordinateSystem0)
 
virtual void setName (const mappingItemName item, const aString &name)
 
void setGridIndexRange (int side, int axis, int num)
 
void setNumberOfGhostPoints (int side, int axis, int numGhost)
 
virtual void setParameter (const MappingParameters::realParameter &param, const real &value)
 
virtual void setParameter (const MappingParameters::intParameter &param, const int &value)
 
void setPartition (Partitioning_Type &partition)
 
virtual void setPeriodVector (const int axis, const int direction, const real periodVectorComponent)
 
virtual void setRangeBound (const int side, const int axis, const Bound rangeBound)
 
virtual void setRangeCoordinateSystem (const coordinateSystem rangeCoordinateSystem)
 
virtual void setRangeCoordinateSystemBound (const int side, const int axis, const Bound rangeCoordinateSystemBound)
 
virtual void setRangeDimension (const int rangeDimension)
 
virtual void setRangeSpace (const mappingSpace rangeSpace)
 
virtual void setShare (const int side, const int axis, const int share)
 
void setSignForJacobian (const real signForJac)
 
virtual void setTopology (const int side, const int axis, const topologyEnum topo)
 
virtual void setTypeOfCoordinateSingularity (const int side, const int axis, const coordinateSingularity)
 
bool usesDistributedInverse () const
 
bool usesDistributedMap () const
 
virtual void useRobustInverse (const bool trueOrFalse=TRUE)
 
bool usingRobustInverse () const
 Return true if the robust inverse is used.
 
virtual int outside (const realArray &x)
 
virtual int setNumberOfGhostLines (IndexRangeType &numberOfGhostLinesNew)
 
void setNumberOfDistributedGhostLines (int numGhost)
 
void periodicShift (realArray &r, const Index &I)
 
Index getIndex (const realArray &r, realArray &x, const realArray &xr, int &base, int &bound, int &computeMap, int &computeMapDerivative)
 
- Public Member Functions inherited from ReferenceCounting
 ReferenceCounting ()
 
 ReferenceCounting (const ReferenceCounting &x, const CopyType ct=DEEP)
 
virtual ~ReferenceCounting ()
 
Integer incrementReferenceCount ()
 
Integer decrementReferenceCount ()
 
Integer getReferenceCount () const
 
Logical uncountedReferencesMayExist ()
 
Integer getGlobalID () const
 
void setGlobalID (int id)
 
virtual void consistencyCheck () const
 

Protected Member Functions

void initialize ()
 
- Protected Member Functions inherited from Mapping
int buildMappingParametersDialog (DialogData &dialog)
 
int getMappingParametersOption (const aString &answer, DialogData &dialog, GenericGraphicsInterface &gi)
 : Look for a change to one of the mapping parameters.
 
int updateMappingParametersDialog (DialogData &dialog)
 
void initializePartition ()
 
int mappingHasChanged ()
 
void setGridIsValid ()
 
void setDefaultMappingBounds (const mappingSpace ms, Bound mappingBound[3][2])
 
void setDefaultCoordinateSystemBounds (const coordinateSystem cs, Bound csBound[3][2])
 
int validSide (const int side) const
 
int validAxis (const int axis) const
 
void mappingError (const aString &subName, const int side, const int axis) const
 

Protected Attributes

aString className
 
int numberOfSplinePoints
 
RealArray s
 
RealArray knots
 
RealArray bcd
 
RealArray xp
 
RealArray sigma
 
bool useTensionSplines
 
bool initialized
 
bool pointAddedForPeriodicity
 
bool shapePreserving
 
EndCondition endCondition
 
real tension
 
RealArray bcValue
 
periodicType splineIsPeriodic
 
real arcLengthWeight
 
real curvatureWeight
 
real rStart
 
real rEnd
 
ParameterizationType parameterizationType
 
- Protected Attributes inherited from Mapping
int dataBaseID
 
aString className
 
int domainDimension
 
int rangeDimension
 
int bc [2][3]
 
int share [2][3]
 
periodicType isPeriodic [3]
 
real periodVector [3][3]
 
int invertible
 
basicInverseOptions basicInverseOption
 
int periodicityOfSpace
 
coordinateSingularity typeOfCoordinateSingularity [2][3]
 
int coordinateEvaluationType [numberOfCoordinateSystems]
 
IndexRangeType gridIndexRange
 
IndexRangeType numberOfGhostPoints
 
realArray grid
 
bool inverseIsDistributed
 
bool mapIsDistributed
 
int numberOfDistributedGhostLines
 
bool partitionInitialized
 
Partitioning_Type partition
 
mappingSpace domainSpace
 
mappingSpace rangeSpace
 
coordinateSystem domainCoordinateSystem
 
coordinateSystem rangeCoordinateSystem
 
mappingCoordinateSystem mappingCoordinateSystem0
 
Bound domainBound [3][2]
 
Bound rangeBound [3][2]
 
Bound domainCoordinateSystemBound [3][2]
 
Bound rangeCoordinateSystemBound [3][2]
 
topologyEnum topology [3][2]
 
intArray * topologyMaskPointer
 
real arcLength
 
bool remakeGrid
 
bool remakeGridSerial
 

Additional Inherited Members

- Static Public Member Functions inherited from Mapping
static void openDebugFiles ()
 
static void closeDebugFiles ()
 
static real epsilon ()
 
static void setMinimumNumberOfDistributedGhostLines (int numGhost)
 
static int getGridMinAndMax (const realArray &u, const Range &R1, const Range &R2, const Range &R3, real uMin[3], real uMax[3], bool local=false)
 
static MappingmakeMapping (const aString &mappingClassName)
 
static MappingLinkedListstaticMapList ()
 
- Public Attributes inherited from Mapping
int computeMap
 
int computeMapDerivative
 
int base
 
int bound
 
real signForJacobian
 
ApproximateGlobalInverseapproximateGlobalInverse
 
ExactLocalInverseexactLocalInverse
 
DistributedInversedistributedInverse
 
- Static Public Attributes inherited from Mapping
static int useInitialGuessForInverse =TRUE
 
static int debug =0
 
static FILE * debugFile =NULL
 
static FILE * pDebugFile =NULL
 
static const real bogus =10.
 
- Static Protected Attributes inherited from Mapping
static int defaultNumberOfGhostPoints =0
 
static int minimumNumberOfDistributedGhostLines =1
 

Member Enumeration Documentation

Enumerator
monotoneParabolicFit 
firstDerivative 
secondDerivative 
free 
Enumerator
index 
arcLength 
userDefined 

Constructor & Destructor Documentation

SplineMapping::SplineMapping ( const int &  rangeDimension = 2)
SplineMapping::SplineMapping ( const SplineMapping map,
const CopyType  copyType = DEEP 
)

References className, DEEP, and map().

SplineMapping::~SplineMapping ( )

References Mapping::debug.

Member Function Documentation

int SplineMapping::get ( const GenericDataBase dir,
const aString name 
)
virtual
aString SplineMapping::getClassName ( void  ) const
inlinevirtual

Reimplemented from Mapping.

References className.

Referenced by operator=().

int SplineMapping::getDomainInterval ( real rStart,
real rEnd 
) const
const realArray & SplineMapping::getKnots ( ) const
const RealArray & SplineMapping::getKnotsS ( ) const

Return the spline knots.

References knots.

Referenced by getKnots().

int SplineMapping::getNumberOfKnots ( ) const

References knots.

Referenced by HyperbolicMapping::update().

const realArray & SplineMapping::getParameterization ( ) const
const RealArray & SplineMapping::getParameterizationS ( ) const

References s.

Referenced by getParameterization().

void SplineMapping::initialize ( )
protected
Mapping * SplineMapping::make ( const aString mappingClassName)
virtual

Reimplemented from Mapping.

References className, and SplineMapping().

void SplineMapping::map ( const realArray r,
realArray x,
realArray xr = Overture::nullRealDistributedArray(),
MappingParameters params = Overture::nullMappingParameters() 
)
virtual
void SplineMapping::mapS ( const RealArray r,
RealArray x,
RealArray xr = Overture::nullRealArray(),
MappingParameters params = Overture::nullMappingParameters() 
)
virtual
SplineMapping & SplineMapping::operator= ( const SplineMapping X0)
int SplineMapping::parameterize ( const real arcLengthWeight = 1.,
const real curvatureWeight = 0. 
)

References arcLengthWeight, and curvatureWeight.

int SplineMapping::put ( GenericDataBase dir,
const aString name 
) const
virtual
int SplineMapping::rotate ( const int &  axis,
const real theta 
)

References axis3, i2, initialized, knots, and Mapping::rangeDimension.

Referenced by update().

int SplineMapping::scale ( const real scalex = 1.,
const real scaley = 1.,
const real scalez = 1. 
)

References initialized, knots, and Mapping::rangeDimension.

Referenced by update().

int SplineMapping::setDomainInterval ( const real rStart = 0.,
const real rEnd = 1. 
)
int SplineMapping::setEndConditions ( const EndCondition condition,
const RealArray endValues = Overture::nullRealArray() 
)
void SplineMapping::setIsPeriodic ( const int  axis,
const periodicType  isPeriodic 
)
virtual
int SplineMapping::setParameterization ( const RealArray s)
int SplineMapping::setParameterizationType ( const ParameterizationType type)
int SplineMapping::setPoints ( const RealArray x)
int SplineMapping::setPoints ( const RealArray x,
const RealArray y 
)
int SplineMapping::setPoints ( const RealArray x,
const RealArray y,
const RealArray z 
)
int SplineMapping::setShapePreserving ( const bool  trueOrFalse = TRUE)
int SplineMapping::setTension ( const real tension)
int SplineMapping::shift ( const real shiftx = 0.,
const real shifty = 0.,
const real shiftz = 0. 
)

References initialized, knots, and Mapping::rangeDimension.

Referenced by update().

int SplineMapping::update ( MappingInformation mapInfo)
virtual

Reimplemented from Mapping.

References GenericGraphicsInterface::appendToTheDefaultPrompt(), arcLength, arcLengthWeight, assert, aString, axis1, axis2, axis3, bcValue, MappingInformation::command, MappingInformation::commandOption, curvatureWeight, Mapping::debug, Mapping::display(), dr, endCondition, GenericGraphicsInterface::erase(), evaluate(), fabs(), firstDerivative, free, GenericGraphicsInterface::getColour(), Mapping::getGridDimensions(), Mapping::getIsPeriodic(), GenericGraphicsInterface::getMenuItem(), Mapping::getName(), GI_MAPPING_COLOUR, GI_PLOT_GRID_POINTS_ON_CURVES, GI_PLOT_THE_OBJECT_AND_EXIT, GI_POINT_COLOUR, GI_TOP_LABEL, GI_USE_PLOT_BOUNDS, MappingInformation::graphXInterface, index, initialized, GenericGraphicsInterface::inputString(), MappingInformation::interactive, Mapping::inverseMapS(), knots, Mapping::mappingHasChanged(), Mapping::mappingName, mapS(), max(), min(), monotoneParabolicFit, NULL, nullRange, numberOfSplinePoints, GenericGraphicsInterface::outputString(), parameterizationType, Pi, GenericGraphicsInterface::pickPoints(), PlotIt::plot(), GenericGraphicsInterface::plotPoints(), points(), printF(), r, R, Mapping::rangeDimension, MappingInformation::readOneCommand, REAL_MIN, rEnd, rotate(), rStart, s, scale(), secondDerivative, Mapping::secondOrderDerivative(), GraphicsParameters::set(), GenericGraphicsInterface::setAxesDimension(), DataPointMapping::setDataPoints(), setDomainInterval(), GenericGraphicsInterface::setGlobalBound(), Mapping::setIsPeriodic(), GenericGraphicsInterface::setPlotTheBackgroundGrid(), shapePreserving, shift(), splineIsPeriodic, sPrintF(), SQR, SQRT, sScanF(), tension, GenericGraphicsInterface::textColour, GenericGraphicsInterface::unAppendTheDefaultPrompt(), Mapping::update(), useTensionSplines, x, and xr.

Referenced by OffsetShell::buildOffsetMappings(), RocketMapping::update(), and CrossSectionMapping::update().

int SplineMapping::useOldSpline ( const bool &  trueOrFalse = TRUE)

Member Data Documentation

real SplineMapping::arcLengthWeight
protected
RealArray SplineMapping::bcd
protected

Referenced by get(), initialize(), mapS(), operator=(), and put().

RealArray SplineMapping::bcValue
protected
aString SplineMapping::className
protected
real SplineMapping::curvatureWeight
protected
EndCondition SplineMapping::endCondition
protected
bool SplineMapping::initialized
protected
RealArray SplineMapping::knots
protected
int SplineMapping::numberOfSplinePoints
protected
ParameterizationType SplineMapping::parameterizationType
protected
bool SplineMapping::pointAddedForPeriodicity
protected
real SplineMapping::rEnd
protected
real SplineMapping::rStart
protected
RealArray SplineMapping::s
protected
bool SplineMapping::shapePreserving
protected
RealArray SplineMapping::sigma
protected

Referenced by get(), initialize(), mapS(), operator=(), and put().

periodicType SplineMapping::splineIsPeriodic
protected
real SplineMapping::tension
protected
bool SplineMapping::useTensionSplines
protected
RealArray SplineMapping::xp
protected

Referenced by get(), initialize(), mapS(), operator=(), and put().


The documentation for this class was generated from the following files: