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

#include <IntersectionMapping.h>

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

Public Member Functions

 IntersectionMapping ()
 
 IntersectionMapping (Mapping &map1, Mapping &map2)
 
 IntersectionMapping (const IntersectionMapping &, const CopyType copyType=DEEP)
 
 ~IntersectionMapping ()
 
IntersectionMappingoperator= (const IntersectionMapping &X0)
 
int intersect (Mapping &map1, Mapping &map2, GenericGraphicsInterface *gi=NULL, GraphicsParameters &params=Overture::defaultGraphicsParameters())
 
void map (const realArray &r, realArray &x, realArray &xr=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual int project (realArray &x, int &iStart, int &iEnd, periodicType period)
 
virtual int project (realArray &x, MappingProjectionParameters &mpParams)
 
virtual int reparameterize (const real &arcLengthWeight=1., const real &curvatureWeight=.5)
 
int intersectCurves (Mapping &map1, Mapping &map2, int &numberOfIntersectionPoints, realArray &r1, realArray &r2, realArray &x)
 
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 mapS (const RealArray &r, RealArray &x, RealArray &xr=Overture::nullRealArray(), 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 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 setIsPeriodic (const int axis, const periodicType isPeriodic)
 
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
 

Public Attributes

MappingrCurve1
 
MappingrCurve2
 
Mappingcurve
 
- Public Attributes inherited from Mapping
int computeMap
 
int computeMapDerivative
 
int base
 
int bound
 
real signForJacobian
 
ApproximateGlobalInverseapproximateGlobalInverse
 
ExactLocalInverseexactLocalInverse
 
DistributedInversedistributedInverse
 

Protected Member Functions

int determineIntersection (GenericGraphicsInterface *gi=NULL, GraphicsParameters &params=Overture::defaultGraphicsParameters())
 
int newtonIntersection (realArray &x, realArray &r1, realArray &r2, const realArray &n)
 
BoundingBoxcreateBoundingBox (BoundingBox &child1, BoundingBox &child2)
 
void destroyBoundingBox (BoundingBox &box)
 
void reOrder (realArray &x, int &iStart, int &iEnd, periodicType &periodic, periodicType curveIsPeriodic[2], real epsX)
 
void reduce (realArray &x, int &iStart, int &iEnd)
 
int intersectWithCompositeSurface (Mapping &map1_, CompositeSurface &cs, GenericGraphicsInterface *gi=NULL, GraphicsParameters &params=Overture::defaultGraphicsParameters())
 
- 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
 

Additional Inherited Members

- 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
 
- 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 ()
 
- 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.
 
- 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
 
- Static Protected Attributes inherited from Mapping
static int defaultNumberOfGhostPoints =0
 
static int minimumNumberOfDistributedGhostLines =1
 

Constructor & Destructor Documentation

IntersectionMapping::IntersectionMapping ( )
IntersectionMapping::IntersectionMapping ( Mapping map1,
Mapping map2 
)
IntersectionMapping::IntersectionMapping ( const IntersectionMapping map,
const CopyType  copyType = DEEP 
)

References DEEP, and map().

IntersectionMapping::~IntersectionMapping ( )

Member Function Documentation

BoundingBox * IntersectionMapping::createBoundingBox ( BoundingBox child1,
BoundingBox child2 
)
protected
void IntersectionMapping::destroyBoundingBox ( BoundingBox box)
protected
int IntersectionMapping::determineIntersection ( GenericGraphicsInterface gi = NULL,
GraphicsParameters params = Overture::defaultGraphicsParameters() 
)
protected
int IntersectionMapping::get ( const GenericDataBase dir,
const aString name 
)
virtual
aString IntersectionMapping::getClassName ( void  ) const
inlinevirtual

Reimplemented from Mapping.

Referenced by operator=().

int IntersectionMapping::intersect ( Mapping map1,
Mapping map2,
GenericGraphicsInterface gi = NULL,
GraphicsParameters params = Overture::defaultGraphicsParameters() 
)
int IntersectionMapping::intersectCurves ( Mapping map1,
Mapping map2,
int &  numberOfIntersectionPoints,
realArray r1,
realArray r2,
realArray x 
)
int IntersectionMapping::intersectWithCompositeSurface ( Mapping map1_,
CompositeSurface cs,
GenericGraphicsInterface gi = NULL,
GraphicsParameters params = Overture::defaultGraphicsParameters() 
)
protected
Mapping * IntersectionMapping::make ( const aString mappingClassName)
virtual

Reimplemented from Mapping.

References IntersectionMapping().

void IntersectionMapping::map ( const realArray r,
realArray x,
realArray xr = Overture::nullRealDistributedArray(),
MappingParameters params = Overture::nullMappingParameters() 
)
virtual

Reimplemented from Mapping.

References curve, Mapping::map(), and NULL.

Referenced by IntersectionMapping(), and update().

int IntersectionMapping::newtonIntersection ( realArray x,
realArray r1,
realArray r2,
const realArray n 
)
protected

References c, Mapping::debug, delta, fabs(), GECO, GESL, Mapping::map(), max(), min(), R, REAL_EPSILON, and SQRT.

Referenced by project().

IntersectionMapping & IntersectionMapping::operator= ( const IntersectionMapping X0)
int IntersectionMapping::project ( realArray x,
int &  iStart,
int &  iEnd,
periodicType  period 
)
virtual
virtual int IntersectionMapping::project ( realArray x,
MappingProjectionParameters mpParams 
)
inlinevirtual

Reimplemented from Mapping.

References Mapping::project().

int IntersectionMapping::put ( GenericDataBase dir,
const aString name 
) const
virtual
void IntersectionMapping::reduce ( realArray x,
int &  iStart,
int &  iEnd 
)
protected

References Mapping::debug, fabs(), mask, and R.

Referenced by determineIntersection().

void IntersectionMapping::reOrder ( realArray x,
int &  iStart,
int &  iEnd,
periodicType periodic,
periodicType  curveIsPeriodic[2],
real  epsX 
)
protected
int IntersectionMapping::reparameterize ( const real arcLengthWeight = 1.,
const real curvatureWeight = .5 
)
virtual
int IntersectionMapping::update ( MappingInformation mapInfo)
virtual

Member Data Documentation

Mapping * IntersectionMapping::curve
Mapping* IntersectionMapping::rCurve1
Mapping * IntersectionMapping::rCurve2

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