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

#include <NurbsMapping.h>

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

Public Types

enum  ParameterizationTypeEnum { parameterizeByChordLength, parameterizeByIndex }
 
enum  NurbsConstantsEnum { maximumOrder =15 }
 
enum  FileFormat { xxww, xwxw, cheryl }
 
- 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

 NurbsMapping ()
 
 NurbsMapping (const int &domainDimension, const int &rangeDimension_)
 
 NurbsMapping (const NurbsMapping &, const CopyType copyType=DEEP)
 
 ~NurbsMapping ()
 
NurbsMappingoperator= (const NurbsMapping &X0)
 
int addSubCurve (NurbsMapping &nurbs)
 
void basicInverse (const realArray &x, realArray &r, realArray &rx=Overture::nullRealDistributedArray(), MappingParameters &params=Overture::nullMappingParameters())
 
virtual void basicInverseS (const RealArray &x, RealArray &r, RealArray &rx=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
int binomial (const int m, const int n)
 
int buildSubCurves (real angle=60.)
 
int buildCurveOnSurface (NurbsMapping &curve, real r0, real r1=-1.)
 
int buildComponentCurve (NurbsMapping &curve, int component=0)
 
int circle (RealArray &o, RealArray &x, RealArray &y, real r, real startAngle=0., real endAngle=1.)
 
int conic (const RealArray &p0, const RealArray &t0, const RealArray &p2, const RealArray &t2, const RealArray &p)
 
int conic (const real a, const real b, const real c, const real d, const real e, const real f, const real z, const real x1, const real y1, const real x2, const real y2)
 
int deleteSubCurve (int sc)
 
virtual void display (const aString &label=blankString) const
 
int elevateDegree (const int increment)
 
int forcedMerge (NurbsMapping &nurbs)
 
int forcePeriodic ()
 
int generalCylinder (const Mapping &curve, real d[3])
 
int generalCylinder (const Mapping &curve1, const Mapping &curve2)
 
int interpolateLoftedSurface (std::vector< Mapping * > &, int degree1=3, int degree2=3, ParameterizationTypeEnum parameterizationType=parameterizeByChordLength, int numberOfGhostPoints=0)
 
const RealArraygetControlPoints () const
 
const RealArraygetKnots (int direction=0) const
 
virtual int get (const GenericDataBase &dir, const aString &name)
 
int get (FILE *file, const FileFormat &fileFormat=xxww)
 
int get (const aString &fileName, const FileFormat &fileFormat=xxww)
 
aString getClassName () const
 
virtual const realArraygetGrid (MappingParameters &params=Overture::nullMappingParameters(), bool includeGhost=false)
 
int getNumberOfControlPoints (int axis=0) const
 
int getNumberOfKnots (int axis=0) const
 
int getOrder (int axis=0) const
 
real getOriginalDomainBound (int side, int axis)
 
int getParameterBounds (int axis, real &rStart, real &rEnd) const
 
int insertKnot (const real &uBar, const int &numberOfTimesToInsert=1)
 
void interpolate (Mapping &map, int degree=3, ParameterizationTypeEnum parameterizationType=parameterizeByChordLength, int numberOfGhostPoints=0, int *numPointsToInterpolate=NULL)
 
void interpolate (const RealArray &x, const int &option=0, RealArray &parameterization=Overture::nullRealArray(), int degree=3, ParameterizationTypeEnum parameterizationType=parameterizeByChordLength, int numberOfGhostPoints=0)
 
void interpolateSurface (const RealArray &x, int degree=3, ParameterizationTypeEnum parameterizationType=parameterizeByChordLength, int numberOfGhostPoints=0, int degree2=3)
 
void interpolateVolume (const RealArray &x, int degree=3, ParameterizationTypeEnum parameterizationType=parameterizeByChordLength, int numberOfGhostPoints=0)
 
bool isInitialized ()
 
bool isSubCurveHidden (int sc)
 
bool isSubCurveOriginal (int sc)
 
int joinSubCurves (int subCurveNumber)
 Join two consequtive sub-curves and modify the subcurve list.
 
int joinSubCurves (int subCurve1, int subCurve2)
 Join two sub-curves (merge into one)
 
int line (const RealArray &p1, const RealArray &p2)
 
void lowerRangeDimension ()
 
Mappingmake (const aString &mappingClassName)
 
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())
 
int matrixTransform (const RealArray &r)
 
int merge (NurbsMapping &nurbs, bool keepFailed=true, real eps=-1, bool attemptPeriodic=true)
 
int moveEndpoint (int end, const RealArray &endPoint, real tol=-1.)
 
int numberOfSubCurves () const
 
int numberOfSubCurvesInList () const
 
int parametricCurve (const NurbsMapping &nurbs, const bool &scaleParameterSpace=TRUE)
 
int parametricSplineSurface (int mu, int mv, RealArray &u, RealArray &v, RealArray &poly)
 
int plane (real pt1[3], real pt2[3], real pt3[3])
 
int plot (GenericGraphicsInterface &gi, GraphicsParameters &parameters, bool plotControlPoints=FALSE)
 
virtual int put (GenericDataBase &dir, const aString &name) const
 
int put (FILE *file, const FileFormat &fileFormat=xxww)
 
int put (const aString &fileName, const FileFormat &fileFormat=xxww)
 
int readFromIgesFile (IgesReader &iges, const int &item, bool normKnots=true)
 
int removeKnot (const int &index, const int &numberOfTimesToRemove, int &numberRemoved, const real &tol=100.*FLT_EPSILON)
 
int reparameterize (const real &uMin, const real &uMax, const real &vMin=0., const real &vMax=1.)
 
int rotate (const int &axis, const real &theta)
 
int scale (const real &scalex=1., const real &scaley=1., const real &scalez=1.)
 
int setDomainInterval (const real &r1Start=0., const real &r1End=1., const real &r2Start=0., const real &r2End=1., const real &r3Start=0., const real &r3End=1.)
 
int shift (const real &shiftx=0., const real &shifty=0., const real &shiftz=0.)
 
int specify (const int &m, const int &n, const int &p, const RealArray &uKnot, const RealArray &cPoint, const int &rangeDimension=3, bool normalizeTheKnots=true)
 
int specify (const int &n1, const int &n2, const int &p1, const int &p2, const RealArray &uKnot, const RealArray &vKnot, const RealArray &controlPoint, const int &rangeDimension=3, bool normalizeTheKnots=true)
 
int split (real uSplit, NurbsMapping &c1, NurbsMapping &c2, bool normalizePieces=true)
 
int splitSubCurve (int subCurveNumber, real rSplit)
 Split a sub-curve at a given position.
 
NurbsMappingsubCurve (int subCurveNumber)
 
NurbsMappingsubCurveFromList (int subCurveNumber)
 
int toggleSubCurveVisibility (int sc)
 
void toggleSubCurveOriginal (int sc)
 
int transformKnots (const real &uScale, const real &uShift, const real &vScale=1., const real &vShift=0.)
 
int transformControlPoints (const RealArray &scale, const RealArray &shift)
 
int truncateToDomainBounds ()
 
virtual 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 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 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)
 
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 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

bool use_kk_nrb_eval
 
- Public Attributes inherited from Mapping
int computeMap
 
int computeMapDerivative
 
int base
 
int bound
 
real signForJacobian
 
ApproximateGlobalInverseapproximateGlobalInverse
 
ExactLocalInverseexactLocalInverse
 
DistributedInversedistributedInverse
 

Static Public Attributes

static bool useScalarEvaluation =true
 
- 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 Member Functions

real angle (const RealArray &p0, const RealArray &p1, const RealArray &p2) const
 
void initialize (bool setMappingHasChanged=true)
 
int normalizeKnots ()
 
int makeOneArc (const RealArray &p0, const RealArray &t0, const RealArray &p2, const RealArray &t2, const RealArray &p, RealArray &p1, real &w1) const
 
int splitArc (const RealArray &p0, const RealArray &p1, const real &w1, const RealArray &p2, RealArray &q1, RealArray &s, RealArray &r1, real &wqr) const
 
int intersect3DLines (const RealArray &p0, const RealArray &t0, const RealArray &p1, const RealArray &t1, real &alpha0, real &alpha1, RealArray &p2) const
 
real distance4D (const RealArray &x, const RealArray &y)
 
virtual void mapVector (const RealArray &r, RealArray &x, RealArray &xr=Overture::nullRealArray(), MappingParameters &params=Overture::nullMappingParameters())
 
void setBounds ()
 
void privateInterpolate (const RealArray &x, const RealArray *uBar)
 
- 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

- 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 ()
 
- 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
 

Member Enumeration Documentation

Enumerator
xxww 
xwxw 
cheryl 
Enumerator
maximumOrder 
Enumerator
parameterizeByChordLength 
parameterizeByIndex 

Constructor & Destructor Documentation

NurbsMapping::NurbsMapping ( )
NurbsMapping::NurbsMapping ( const int &  domainDimension,
const int &  rangeDimension_ 
)
NurbsMapping::NurbsMapping ( const NurbsMapping map,
const CopyType  copyType = DEEP 
)

References DEEP, and map().

NurbsMapping::~NurbsMapping ( )

Member Function Documentation

int NurbsMapping::addSubCurve ( NurbsMapping nurbs)
real NurbsMapping::angle ( const RealArray p0,
const RealArray p1,
const RealArray p2 
) const
protected

References REAL_MIN.

Referenced by circle(), and conic().

void NurbsMapping::basicInverse ( const realArray x,
realArray r,
realArray rx = Overture::nullRealDistributedArray(),
MappingParameters params = Overture::nullMappingParameters() 
)
virtual

Reimplemented from Mapping.

References basicInverseS(), and getLocalArrayWithGhostBoundaries().

void NurbsMapping::basicInverseS ( const RealArray x,
RealArray r,
RealArray rx = Overture::nullRealArray(),
MappingParameters params = Overture::nullMappingParameters() 
)
virtual
int NurbsMapping::binomial ( const int  m,
const int  n 
)

Referenced by elevateDegree().

int NurbsMapping::buildComponentCurve ( NurbsMapping curve,
int  component = 0 
)
int NurbsMapping::buildCurveOnSurface ( NurbsMapping curve,
real  r0,
real  r1 = -1. 
)
int NurbsMapping::buildSubCurves ( real  angle = 60.)
int NurbsMapping::circle ( RealArray o,
RealArray x,
RealArray y,
real  r,
real  startAngle = 0.,
real  endAngle = 1. 
)
int NurbsMapping::conic ( const RealArray p0,
const RealArray t0,
const RealArray p2,
const RealArray t2,
const RealArray p 
)
int NurbsMapping::conic ( const real  a,
const real  b,
const real  c,
const real  d,
const real  e,
const real  f,
const real  z,
const real  x1,
const real  y1,
const real  x2,
const real  y2 
)
int NurbsMapping::deleteSubCurve ( int  sc)
void NurbsMapping::display ( const aString label = blankString) const
virtual
real NurbsMapping::distance4D ( const RealArray x,
const RealArray y 
)
protected

References Mapping::rangeDimension.

Referenced by removeKnot().

int NurbsMapping::elevateDegree ( const int  increment)
int NurbsMapping::forcedMerge ( NurbsMapping nurbs)
int NurbsMapping::forcePeriodic ( )
int NurbsMapping::generalCylinder ( const Mapping curve,
real  d[3] 
)
int NurbsMapping::generalCylinder ( const Mapping curve1,
const Mapping curve2 
)
int NurbsMapping::get ( const GenericDataBase dir,
const aString name 
)
virtual
int NurbsMapping::get ( FILE *  file,
const FileFormat fileFormat = xxww 
)
int NurbsMapping::get ( const aString fileName,
const FileFormat fileFormat = xxww 
)
aString NurbsMapping::getClassName ( void  ) const
inlinevirtual

Reimplemented from Mapping.

Referenced by MappingsFromCAD::createBoundedSurface(), and operator=().

const RealArray & NurbsMapping::getControlPoints ( ) const
const realArray & NurbsMapping::getGrid ( MappingParameters params = Overture::nullMappingParameters(),
bool  includeGhost = false 
)
virtual
const RealArray & NurbsMapping::getKnots ( int  direction = 0) const
int NurbsMapping::getNumberOfControlPoints ( int  axis = 0) const

Referenced by generalCylinder(), and split().

int NurbsMapping::getNumberOfKnots ( int  axis = 0) const

Referenced by generalCylinder(), mapS(), and split().

int NurbsMapping::getOrder ( int  axis = 0) const
real NurbsMapping::getOriginalDomainBound ( int  side,
int  axis 
)
int NurbsMapping::getParameterBounds ( int  axis,
real rStart,
real rEnd 
) const

References assert.

Referenced by MappingBuilder::buildSurfacePatch().

void NurbsMapping::initialize ( bool  setMappingHasChanged = true)
protected
int NurbsMapping::insertKnot ( const real uBar,
const int &  numberOfTimesToInsert = 1 
)
void NurbsMapping::interpolate ( Mapping map,
int  degree = 3,
ParameterizationTypeEnum  parameterizationType = parameterizeByChordLength,
int  numberOfGhostPoints = 0,
int *  numPointsToInterpolate = NULL 
)
void NurbsMapping::interpolate ( const RealArray x,
const int &  option = 0,
RealArray parameterization = Overture::nullRealArray(),
int  degree = 3,
ParameterizationTypeEnum  parameterizationType = parameterizeByChordLength,
int  numberOfGhostPoints = 0 
)
int NurbsMapping::interpolateLoftedSurface ( std::vector< Mapping * > &  ,
int  degree1 = 3,
int  degree2 = 3,
ParameterizationTypeEnum  parameterizationType = parameterizeByChordLength,
int  numberOfGhostPoints = 0 
)
void NurbsMapping::interpolateSurface ( const RealArray x,
int  degree = 3,
ParameterizationTypeEnum  parameterizationType = parameterizeByChordLength,
int  numberOfGhostPoints = 0,
int  degree2 = 3 
)
void NurbsMapping::interpolateVolume ( const RealArray x,
int  degree = 3,
ParameterizationTypeEnum  parameterizationType = parameterizeByChordLength,
int  numberOfGhostPoints = 0 
)
int NurbsMapping::intersect3DLines ( const RealArray p0,
const RealArray t0,
const RealArray p1,
const RealArray t1,
real alpha0,
real alpha1,
RealArray p2 
) const
protected

References fabs(), and REAL_EPSILON.

Referenced by circle().

bool NurbsMapping::isInitialized ( )
inline
bool NurbsMapping::isSubCurveHidden ( int  sc)
bool NurbsMapping::isSubCurveOriginal ( int  sc)
int NurbsMapping::joinSubCurves ( int  subCurveNumber)

Join two consequtive sub-curves and modify the subcurve list.

Parameters
subCurveNumber(input): Join sub-curve subCurveNumber and subCurveNumber+1. The new sub-curve will be ordered to be subCurveNumber. In the case subCurveNumber == lastVisible, it will joined with curve 0 and the new curve will get number 0. Also, if subCurveNumber = numberOfCurves-1, the curve will get joined to curve lastVisible+1, and the new curve will get number lastVisible+1
Note
Visible and invisible curves are separated. If subCurveNumber==lastVisible, the curve will be joined to subCurve 0 and the new curve will get number 0.
Currently this function will destroy (if the reference count becomes zero) the two original subcurves and make one new curve
Returns
: success: new sub curve number, failure: -1

References ReferenceCounting::decrementReferenceCount(), ReferenceCounting::incrementReferenceCount(), merge(), NULL, NurbsMapping(), and subCurve().

Referenced by CompositeTopology::joinEdgeCurves().

int NurbsMapping::joinSubCurves ( int  subCurve1,
int  subCurve2 
)

Join two sub-curves (merge into one)

This function will attempt to join subCurve1 to subCurve2 and if successful then delete subCurve2.

/param subCurve1, subCurve2 (input) : attempt to join these two subcurves. /return : 0 for success.

References deleteSubCurve(), and merge().

int NurbsMapping::line ( const RealArray p1,
const RealArray p2 
)
void NurbsMapping::lowerRangeDimension ( )
Mapping * NurbsMapping::make ( const aString mappingClassName)
virtual

Reimplemented from Mapping.

References NurbsMapping().

int NurbsMapping::makeOneArc ( const RealArray p0,
const RealArray t0,
const RealArray p2,
const RealArray t2,
const RealArray p,
RealArray p1,
real w1 
) const
protected

Referenced by conic().

void NurbsMapping::map ( const realArray r,
realArray x,
realArray xr = Overture::nullRealDistributedArray(),
MappingParameters params = Overture::nullMappingParameters() 
)
virtual
void NurbsMapping::mapS ( const RealArray r,
RealArray x,
RealArray xr = Overture::nullRealArray(),
MappingParameters params = Overture::nullMappingParameters() 
)
virtual
void NurbsMapping::mapVector ( const RealArray r,
RealArray x,
RealArray xr = Overture::nullRealArray(),
MappingParameters params = Overture::nullMappingParameters() 
)
protectedvirtual
int NurbsMapping::matrixTransform ( const RealArray r)
int NurbsMapping::merge ( NurbsMapping nurbs,
bool  keepFailed = true,
real  eps = -1,
bool  attemptPeriodic = true 
)
int NurbsMapping::moveEndpoint ( int  end,
const RealArray endPoint,
real  tol = -1. 
)
int NurbsMapping::normalizeKnots ( )
protected
int NurbsMapping::numberOfSubCurves ( ) const
int NurbsMapping::numberOfSubCurvesInList ( ) const
NurbsMapping & NurbsMapping::operator= ( const NurbsMapping X0)
int NurbsMapping::parametricCurve ( const NurbsMapping nurbs,
const bool &  scaleParameterSpace = TRUE 
)
int NurbsMapping::parametricSplineSurface ( int  mu,
int  mv,
RealArray u,
RealArray v,
RealArray poly 
)
int NurbsMapping::plane ( real  pt1[3],
real  pt2[3],
real  pt3[3] 
)
int NurbsMapping::plot ( GenericGraphicsInterface gi,
GraphicsParameters parameters,
bool  plotControlPoints = FALSE 
)
void NurbsMapping::privateInterpolate ( const RealArray x,
const RealArray uBar 
)
protected
int NurbsMapping::put ( GenericDataBase dir,
const aString name 
) const
virtual
int NurbsMapping::put ( FILE *  file,
const FileFormat fileFormat = xxww 
)
int NurbsMapping::put ( const aString fileName,
const FileFormat fileFormat = xxww 
)

References NULL, and put().

int NurbsMapping::readFromIgesFile ( IgesReader iges,
const int &  item,
bool  normKnots = true 
)
int NurbsMapping::removeKnot ( const int &  index,
const int &  numberOfTimesToRemove,
int &  numberRemoved,
const real tol = 100.*FLT_EPSILON 
)
int NurbsMapping::reparameterize ( const real uMin,
const real uMax,
const real vMin = 0.,
const real vMax = 1. 
)
int NurbsMapping::rotate ( const int &  axis,
const real theta 
)
int NurbsMapping::scale ( const real scalex = 1.,
const real scaley = 1.,
const real scalez = 1. 
)
void NurbsMapping::setBounds ( )
protected
int NurbsMapping::setDomainInterval ( const real r1Start = 0.,
const real r1End = 1.,
const real r2Start = 0.,
const real r2End = 1.,
const real r3Start = 0.,
const real r3End = 1. 
)
int NurbsMapping::shift ( const real shiftx = 0.,
const real shifty = 0.,
const real shiftz = 0. 
)
int NurbsMapping::specify ( const int &  m,
const int &  n,
const int &  p,
const RealArray uKnot,
const RealArray cPoint,
const int &  rangeDimension = 3,
bool  normalizeTheKnots = true 
)
int NurbsMapping::specify ( const int &  n1,
const int &  n2,
const int &  p1,
const int &  p2,
const RealArray uKnot,
const RealArray vKnot,
const RealArray controlPoint,
const int &  rangeDimension = 3,
bool  normalizeTheKnots = true 
)
int NurbsMapping::split ( real  uSplit,
NurbsMapping c1,
NurbsMapping c2,
bool  normalizePieces = true 
)
int NurbsMapping::splitArc ( const RealArray p0,
const RealArray p1,
const real w1,
const RealArray p2,
RealArray q1,
RealArray s,
RealArray r1,
real wqr 
) const
protected

References s.

Referenced by conic().

int NurbsMapping::splitSubCurve ( int  subCurveNumber,
real  rSplit 
)

Split a sub-curve at a given position.

Parameters
subCurveNumber(input): Split this sub-curve
uSplit(input): split sub-curve at this parameter value.
Note
Currently this function will destroy the original subcurve. The two new sub-curves are ordered to be subCurveNumber and subCurveNumber+1
Returns
0==success, 1==failure (rSplit out of bounds).

References assert, ReferenceCounting::decrementReferenceCount(), ReferenceCounting::incrementReferenceCount(), NULL, NurbsMapping(), split(), and subCurve().

Referenced by CompositeTopology::splitEdge().

NurbsMapping & NurbsMapping::subCurve ( int  subCurveNumber)
NurbsMapping & NurbsMapping::subCurveFromList ( int  subCurveNumber)
void NurbsMapping::toggleSubCurveOriginal ( int  sc)

Referenced by merge().

int NurbsMapping::toggleSubCurveVisibility ( int  sc)
int NurbsMapping::transformControlPoints ( const RealArray scale,
const RealArray shift 
)
int NurbsMapping::transformKnots ( const real uScale,
const real uShift,
const real vScale = 1.,
const real vShift = 0. 
)
int NurbsMapping::truncateToDomainBounds ( )
int NurbsMapping::update ( MappingInformation mapInfo)
virtual

Reimplemented from Mapping.

References GenericGraphicsInterface::appendToTheDefaultPrompt(), Mapping::approximateGlobalInverse, assert, aString, axis1, axis2, axis3, c, cheryl, circle(), MappingInformation::command, MappingInformation::commandOption, conic(), display(), Mapping::domainDimension, dr, elevateDegree(), GenericGraphicsInterface::erase(), fabs(), FALSE, generalCylinder(), GraphicsParameters::get(), MappingRC::getClassName(), GenericGraphicsInterface::getColourName(), MappingRC::getDomainDimension(), Mapping::getDomainDimension(), getGrid(), Mapping::getGridDimensions(), Mapping::getIsPeriodic(), ListOfMappingRC::getLength(), GenericGraphicsInterface::getMenuItem(), MappingRC::getName(), Mapping::getName(), MappingRC::getRangeDimension(), GI_MAPPING_COLOUR, GI_PLOT_GRID_POINTS_ON_CURVES, GI_PLOT_NURBS_CURVES_AS_SUBCURVES, GI_PLOT_THE_OBJECT_AND_EXIT, GI_TOP_LABEL, MappingInformation::graphXInterface, i2, initialize(), GenericGraphicsInterface::inputString(), MappingInformation::interactive, interpolate(), interpolateLoftedSurface(), isSubCurveHidden(), line(), map(), Mapping::mappingHasChanged(), MappingInformation::mappingList, Mapping::mappingName, MappingRC::mapPointer, max(), merge(), min(), NULL, Overture::nullRealArray(), numberOfSubCurves(), GenericGraphicsInterface::outputString(), parameterizeByChordLength, parameterizeByIndex, Pi, PlotIt::plot(), plot(), printF(), put(), r, R, Mapping::rangeDimension, MappingInformation::readOneCommand, REAL_MIN, Mapping::reinitialize(), reparameterize(), rotate(), scale(), Mapping::secondOrderDerivative(), GraphicsParameters::set(), DataPointMapping::setDataPoints(), setDomainInterval(), Mapping::setGridDimensions(), Mapping::setIsPeriodic(), shift(), sPrintF(), sScanF(), GenericGraphicsInterface::stopReadingCommandFile(), subCurve(), TRUE, GenericGraphicsInterface::unAppendTheDefaultPrompt(), Mapping::update(), use_kk_nrb_eval, ApproximateGlobalInverse::useRobustInverse(), XP, xr, xwxw, xxww, YP, YPT, and ZP.

Referenced by UserDefinedMapping1::bladeSetup(), TrimmedMappingBuilder::buildTrimmedMapping(), MappingsFromCAD::createManifoldSolidBRepObject(), and TrimmedMapping::editNurbsTrimCurve().

Member Data Documentation

bool NurbsMapping::use_kk_nrb_eval

Referenced by mapS(), NurbsMapping(), operator=(), and update().

bool NurbsMapping::useScalarEvaluation =true
static

Referenced by mapS().


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