AdvancedMathematics CATMathIntervalND

Usage: you must use this class as is. You should never derive it.


public class CATMathIntervalND

Class representing a closed bounded interval of R^N.

A CATMathIntervalND is the set of the points whose each coordinate x_i ,i=0,..,N-1 is lying between two real bounds Low_i and High_i: Low_i <= x_i <= High_i. If there exists one coordinate for which Low_i > High_i, the interval is empty.


Constructor and Destructor Index


o CATMathIntervalND()
Constructs a CATMathIntervalND of dimension N=0, only containing 0.
o CATMathIntervalND(CATLONG32)
Allocates a CATMathInterval of a given dimension.
o CATMathIntervalND(CATLONG32,double*)
Constructs a CATMathIntervalND of a given dimension from the array of the boundaries of each coordinates.
o CATMathIntervalND(CATMathIntervalND&)
Copy constructor.
o ~CATMathIntervalND()
Destructor.

Method Index


o Center(double*)
Returns the center point of this CATMathIntervalND.
o ContainsPoint(double*)
Tests whether this CATMathIntervalND contains a given point (of dimension N).
o ContainsPoint(double*,double&)
Tests whether a point is inside this CATMathIntervalND at a given tolerance.
o GetCoords()
o GetCoords()
Returns the limitations of this CATMathIntervalND in an array.
o GetDimension()
o GetDimension()
Returns the dimension of this CATMathIntervalND.
o GetInterval(CATLONG32)
Returns the CATMathInterval associated with a coordinate of this CATMathIntervalND.
o GetMax(CATLONG32)
Returns the high limitation of a coordinate of this CATMathIntervalND.
o GetMin(CATLONG32)
Returns the low limitation of a coordinate of this CATMathIntervalND.
o Intersection(double*,double*,double&,CATLONG32&)
Intersects this CATMathIntervalND with a segment.
o IsEmpty()
Tests whether this CATMathIntervalND is empty.
o MinSquareDistance(double*,double*)
Projects a given point onto this CATMathIntervalND.
o SetCoords(double*)
Sets the limitations of this CATMathIntervalND with an array.
o SetInterval(CATLONG32,CATMathInterval&)
Modifies the limitations associated with a coordinate of this CATMathIntervalND.
o SetMax(CATLONG32,double)
Modifies the high limitation of a coordinate of this CATMathIntervalND.
o SetMin(CATLONG32,double)
Modifies the low limitation of a coordinate of this CATMathIntervalND.
o Width()
Returns the sum of the interval width of each coordinate of this CATMathIntervalND.
o operator =(CATMathIntervalND&)
Assignement operator.

Constructor and Destructor


o CATMathIntervalND
public CATMathIntervalND()
Constructs a CATMathIntervalND of dimension N=0, only containing 0.
o CATMathIntervalND
public CATMathIntervalND( const iN)
Allocates a CATMathInterval of a given dimension.
Note that this does not initialize the Low_i and High_i boundaries of each coordinates.
Parameters:
iN
The dimension of the interval.
o CATMathIntervalND
public CATMathIntervalND( const iN,
const iMinMax)
Constructs a CATMathIntervalND of a given dimension from the array of the boundaries of each coordinates.
Parameters:
iN
The dimension of the interval.
iMinMax
The array [2,iN] of the boundaries.
The domain is then [iMinMax[0], iMinMax[1]] X ... X [iMinMax[2iN-2], iMinMax[2iN-1]]
o CATMathIntervalND
public CATMathIntervalND( const iDomainToCopy)
Copy constructor.
o ~CATMathIntervalND
public virtual ~CATMathIntervalND()
Destructor.

Methods


o Center
public Center( ioCenter)
Returns the center point of this CATMathIntervalND.
Parameters:
oCenter
The array (already allocated) of the coordinates of the interval center.
o ContainsPoint
public virtual ContainsPoint( const iPoint)
Tests whether this CATMathIntervalND contains a given point (of dimension N).
Parameters:
iPoint
The array [N] of the coordinates of the point.
Returns:
The result of the test.
Legal values:
TRUE
if the point is inside the CATMathIntervalND.
FALSE
otherwise.
o ContainsPoint
public virtual ContainsPoint( const iPoint,
const iTol)
Tests whether a point is inside this CATMathIntervalND at a given tolerance.
Parameters:
iPoint
The array [N] of the coordinates of the point.
Returns:
The result of the test.
Legal values:
TRUE
if the point is inside the CATMathIntervalND defined by iTol.
FALSE
otherwise.
o GetCoords
public GetCoords()
o GetCoords
public GetCoords()
Returns the limitations of this CATMathIntervalND in an array.
Returns:
The array [2,N] of the limitations. The domain is then [iTab[0], iTab[1]] X ... X [iTab[2N-2], iTab[2N-1]].
As part of the class, the array must not be deleted.
o GetDimension
public GetDimension()
o GetDimension
public GetDimension()
Returns the dimension of this CATMathIntervalND.
Returns:
The dimension.
o GetInterval
public GetInterval( const iCoordIndex)
Returns the CATMathInterval associated with a coordinate of this CATMathIntervalND.
Parameters:
iCoordIndex
The index (0 <= iCoordIndex < N) of the coordinate.
Returns:
The corresponding interval.
o GetMax
public GetMax( const iCoordIndex)
Returns the high limitation of a coordinate of this CATMathIntervalND.
Parameters:
iCoordIndex
The index (0 <= iCoordIndex < N) of the coordinate.
Returns:
The high limitation of iCoordIndex.
o GetMin
public GetMin( const iCoordIndex)
Returns the low limitation of a coordinate of this CATMathIntervalND.
Parameters:
iCoordIndex
The index (0 <= iCoordIndex < N) of the coordinate.
Returns:
The low limitation of iCoordIndex.
o Intersection
public virtual Intersection( const iFirstPoint,
const iSecondPoint,
oWeight,
oPosition)
Intersects this CATMathIntervalND with a segment.
Parameters:
iFirstPoint
The array of the coordinates of the first point.
iSecondPoint
The array of the coordinates of the second point.
oWeight
The intersection parameter on the segment [iFirstPoint,iSecondPoint].
IntersectionPoint = iFirstPoint + oWeight * (iSecondPoint - iFirstPoint) .
oPosition
2*i + d
i being the index of the first coordinate of IntersectionPoint such as
  • either IntersectionPoint_i=Low_i and then d = 0
  • or IntersectionPoint_i=High_i and then d = 1
Returns:
TRUE
if this contains iFirstPoint and does not contain iSecondPoint.
FALSE
otherwise.
o IsEmpty
public virtual IsEmpty()
Tests whether this CATMathIntervalND is empty.
A CATMathIntervalND is empty if there exists one coordinate for which Low_i > High_i. Note that if Low_i = High_i, it does not make an empty interval.
Returns:
The result of the test.
Legal values:
TRUE
if the interval is empty.
FALSE
otherwise.
o MinSquareDistance
public virtual MinSquareDistance( const iPointToProject,
ioSolution)
Projects a given point onto this CATMathIntervalND.
Parameters:
iPointToProject
The array of the coordinates of the point to project.
oSolution
The array (already allocated) of coordinates of the point realizing the minimum distance between iPointToProject and this. If iPointToProject belongs to this, oSolution = iPointToProject. Otherwise, oSolution is on this boundaries.
Returns:
The square of the distance between oSolution and this.
o SetCoords
public SetCoords( const iMinMax)
Sets the limitations of this CATMathIntervalND with an array.
Parameters:
iMinMax[2,N]
The array of the limitation.
The domain is then [iMinMax[0], iMinMax[1]] X ... X [iMinMax[2N-2], iMinMax[2N-1]]
o SetInterval
public SetInterval( const iCoordIndex,
const iNewLimit)
Modifies the limitations associated with a coordinate of this CATMathIntervalND.
Parameters:
iCoordIndex
The index (0 <= iCoordIndex < N) of the coordinate.
iNewLimit
The new corresponding interval.
o SetMax
public SetMax( const iCoordIndex,
const iNewMax)
Modifies the high limitation of a coordinate of this CATMathIntervalND.
Parameters:
iCoordIndex
The index (0 <= iCoordIndex < N) of the coordinate.
iNewMax
The new high limitation of iCoordIndex.
o SetMin
public SetMin( const iCoordIndex,
const iNewMin)
Modifies the low limitation of a coordinate of this CATMathIntervalND.
Parameters:
iCoordIndex
The index (0 <= iCoordIndex < N) of the coordinate.
iNewMin
The new low limitation of iCoordIndex.
o Width
public Width()
Returns the sum of the interval width of each coordinate of this CATMathIntervalND.
Returns:
The width: (High_1-Low_1) + ... + (High_N-Low_N).
o operator =
public operator =( const iToAffect)
Assignement operator.

This object is included in the file: CATMathIntervalND.h
If needed, your Imakefile.mk should include the module: CATAdvancedMathematics

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.