All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

GeometricObjects Class CATSurLimits

CATSurLimits
 

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


public class CATSurLimits

Class representing the limitations of a CATSurface.

The CATSurLimits contains the two CATSurParams of the limiting points.
The CATSurLimits defines a closed interval of R². It can be empty (if the high limit is smaller than the low one, or if some of them are not defined): in this case, it does not contain any point.


Constructor and Destructor Index


o CATSurLimits()
Constructs an empty CATSurLimits.
o CATSurLimits(CATSurLimits&)
Copy constructor.
o CATSurLimits(CATSurParam&,CATSurParam&,CATVerificationMode)
Constructs a CATSurLimits from two CATSurParams.

Method Index


o AddInside(CATMathPoint2D&)
Replaces this by a CATCrvLimits that also contains a given CATMathPoint2D.
o AddInside(CATSurLimits&)
Replaces this by the union with an other CATSurLimits.
o AddInside(CATSurParam&)
Replaces this by a CATSurLimits that also contains a given CATSurParam.
o ApplyTransformation2D(CATMathTransformation2D&,CATSurLimits&)
Applies a 2D transformation to this CATSurLimits.
o Get2DBox(CATMathBox2D&)
Computes a 2D box corresponding to the global parameters of this CATSurLimits.
o GetEquivalentParam(CATCrvLimits&,CATCrvParam&,CATIsoParameter,CATSurParam&,CATSurParam&)
Retrieves the CATSurParam of the point that has the same relative position to this than RefPoint in RefCrvLimits along an isoparametric curve.
o GetEquivalentParam(CATSurLimits&,CATSurParam&,CATSurParam&)
Retrieves the CATSurParam of the point that has the same relative position to this than RefPoint in RefBox.
o GetExtremities(CATSurParam&,CATSurParam&)
Retrieves the CATSurParams that delimit this CATSurLimits.
o GetExtremities(double&,double&,double&,double&)
Retrieves the extremities of a 2D box corresponding to the global parameters of this CATSurLimits.
o GetHigh(CATSurParam&)
Retrieves the high CATSurParam of this CATSurLimits.
o GetLocalExtremities(double&,double&,double&,double&,CATLONG32&,CATLONG32&,CATLONG32&,CATLONG32&)
Retrieves the extremities of a 2D box corresponding to the local parameters of this CATSurLimits.
o GetLow(CATSurParam&)
Retrieves the low CATSurParam of this CATSurLimits.
o GetMiddle(double&,double&)
Retrieves the center of this CATSurLimits.
o IsContaining(CATSurLimits&)
Tests whether this CATSurLimits is including another CATSurLimits.
o IsContaining(CATSurLimits&,CATMathTransformation2D&,double,double,double)
Tests whether the transformation of a CATSurLimits belongs to this.
o IsContaining(CATSurLimits&,double)
Tests whether this CATSurLimits is including another CATSurLimits at a given tolerance.
o IsContaining(CATSurParam&)
Tests wether this CATSurParam is inside a CATSurLimits.
o IsContaining(CATSurParam&,double)
Tests wether this CATSurParam is inside a CATSurLimits at a given tolerance.
o IsEmpty()
Tests whether this CATCrvLimits is empty.
o IsEqualU(CATSurLimits&)
Tests whether two CATSurLimits are equal (logically, no tolerance) with regards to the first coordinate.
o IsEqualV(CATSurLimits&)
Tests whether two CATSurLimits are equal (logically, no tolerance) with regards to second coordinate.
o IsIntersecting(CATSurLimits&)
Tests whether this CATSurLimits is intersecting another one.
o IsIntersecting(CATSurLimits&,double)
Tests whether this CATSurLimits is intersecting another one at a given tolerance.
o SetHigh(CATSurParam&)
Modifies the high CATSurParam of this CATCrvLimits.
o SetLow(CATSurParam&)
Modifies the low CATSurParam of this CATCrvLimits.
o SetToEmpty()
Sets this CATSurLimits to an empty one.
o SetToIntersection(CATSurLimits&,CATSurLimits&)
Replaces this CATSurLimits by the intersection of two other ones.
o SetToUnion(CATSurLimits&,CATSurLimits&)
Replaces this CATSurLimits by the union of two other one.
o operator !=(CATSurLimits&)
Inequality operator.
o operator ==(CATSurLimits&)
Equality operator.

Constructor and Destructor


o CATSurLimits
public CATSurLimits()
Constructs an empty CATSurLimits.
Do not use it.
o CATSurLimits
public CATSurLimits( const CATSurLimits& iSurLimitsToCopy)
Copy constructor.
o CATSurLimits
public CATSurLimits( const CATSurParam& iLowSurParam,
const CATSurParam& iHighSurParam,
CATVerificationMode iMode=CATVerify)
Constructs a CATSurLimits from two CATSurParams.
Parameters:
iLowSurParam
The first limitation.
iHighSurParam
The last limitation.
iMode
Only use with the default mode.

Methods


o AddInside
public void AddInside( const CATMathPoint2D& iPointUV)
Replaces this by a CATCrvLimits that also contains a given CATMathPoint2D.
Parameters:
iPointOnSurface
The point that must be contained by this.
o AddInside
public void AddInside( const CATSurLimits& iOtherBox)
Replaces this by the union with an other CATSurLimits.
Parameters:
iOtherBox
The box to union with this.
o AddInside
public void AddInside( const CATSurParam& iPointOnSurface)
Replaces this by a CATSurLimits that also contains a given CATSurParam.
Parameters:
iPointOnSurface
The point that must be contained by this.
o ApplyTransformation2D
public void ApplyTransformation2D( const CATMathTransformation2D& iTransfo2D,
CATSurLimits& ioLimits)const
Applies a 2D transformation to this CATSurLimits.
Parameters:
iTransfo2D
The transformation to apply.
ioLimits
The resulting limits.
o Get2DBox
public void Get2DBox(CATMathBox2D& ioGlobalBox) const
Computes a 2D box corresponding to the global parameters of this CATSurLimits.
Parameters:
ioGlobalBox
The corresponding 2D box. The result is empty if the CATSurLimits is empty.
o GetEquivalentParam
public void GetEquivalentParam( const CATCrvLimits& iRefCrvLimits,
const CATCrvParam& iRefPoint,
const CATIsoParameter iIsoParameter,
const CATSurParam& iIsoParamUV,
CATSurParam& ioResult)const
Retrieves the CATSurParam of the point that has the same relative position to this than RefPoint in RefCrvLimits along an isoparametric curve.
The isoparametric curve is in the iIsoParameter direction passing through iIsoParamUV.
Parameters:
iRefCrvLimits
The reference CATCrvLimits of global parameters (A1,A2).
iRefPoint
The compared CATCrvParam of global parameters (B) on the the iso-parametric curve defined by iIsoParamUV and iIsoParameter.
iIsoParameter
The type of isoparametric curve.
iIsoParamUV
The point belonging to the iso parametric curve.
ioResult
The resulting CATSurParam of global parameter such that (with (T1,T2) the global parameters of this):
if iIsoParameter=CATIsoParamU
(iIsoParamUV(U), T1v + (T2v-T1v)*(B-A1)/(A2-A1))
if iIsoParameter=CATIsoParamV
( T1u + (T2u-T1u)*(B-A1)/(A2-A1), iIsoParamUV(V) )
o GetEquivalentParam
public void GetEquivalentParam( const CATSurLimits& iRefBox,
const CATSurParam& iRefPoint,
CATSurParam& ioResult) const
Retrieves the CATSurParam of the point that has the same relative position to this than RefPoint in RefBox.
Parameters:
iRefAll
The reference CATSurLimits of global parameters ((A1u,A1v),(A2u,A2v)).
iRefPoint
The compared CATSurParam of global parameters (Bu,Bv).
ioResult
The resulting CATSurParam of global parameter (Ru,Rv) following the equation (with ((T1u,T1v),(T2u,T2v)) the global parameters of this): (Ru-Tu)*(A2u-A1u) = (Bu-A1u)*(T2u-T1u)
(Rv-Tv)*(A2v-A1v) = (Bv-A1v)*(T2v-T1v)
o GetExtremities
public void GetExtremities(CATSurParam& ioLowParam,
CATSurParam& ioHighParam) const
Retrieves the CATSurParams that delimit this CATSurLimits.
Check before that the CATCrvLimits is not empty.
Parameters:
ioLowParam
The first limit.
ioHighParam
The last limit.
o GetExtremities
public void GetExtremities(double& ioUmin,
double& ioVmin,
double& ioUmax,
double& ioVmax) const
Retrieves the extremities of a 2D box corresponding to the global parameters of this CATSurLimits.
Check before that the CATSurLimits is not empty.
Parameters:
ioUmin
The low limit in the first direction.
ioVmin
The low limit in the second direction.
ioUmax
The last limit in the first direction.
ioVmax
The last limit in the second direction.
o GetHigh
public void GetHigh(CATSurParam& ioHighParam) const
Retrieves the high CATSurParam of this CATSurLimits.
Check before that the CATSurLimits is not empty.
Parameters:
ioHighParam
The last limit.
o GetLocalExtremities
public void GetLocalExtremities(double& ioLocalUmin,
double& ioLocalVmin,
double& ioLocalUmax,
double& ioLocalVmax,
CATLONG32& ioUMinPartNumber,
CATLONG32& ioVMinPartNumber,
CATLONG32& ioUMaxPartNumber,
CATLONG32& ioVMaxPartNumber) const
Retrieves the extremities of a 2D box corresponding to the local parameters of this CATSurLimits.
Check before that the CATSurLimits is not empty.
Parameters:
ioLocalUmin
The local parameter value in the first direction of the first limit.
ioLocalVmin
The local parameter value in the second direction of the first limit.
ioLocalUmax
The local parameter value in the first direction of the last limit.
ioLocalVmax
The local parameter value in the second direction of the last limit.
ioUMinPartNumber
The patch number in the first direction of the first limit.
ioVMinPartNumber
The patch number in the second direction of the first limit.
ioUMaxPartNumber
The patch number in the first direction of the last limit.
ioVMaxPartNumber
The patch number in the second direction of the last limit.
o GetLow
public void GetLow(CATSurParam& ioLowParam) const
Retrieves the low CATSurParam of this CATSurLimits.
Check before that the CATSurLimits is not empty.
Parameters:
ioLowParam
The first limit.
o GetMiddle
public void GetMiddle(double& ioUmiddle,
double& ioVmiddle) const
Retrieves the center of this CATSurLimits.
Parameters:
ioUmiddle
The parameter of the center in the first direction.
ioVmiddle
The parameter of the center in the second direction.
o IsContaining
public CATLONG32 IsContaining( const CATSurLimits& iOtherBox) const
Tests whether this CATSurLimits is including another CATSurLimits.
Parameters:
iOtherBox
The box to test.
Returns:
The result of the test.
Legal values:
0
if the CATSurLimits is not containing iOtherBox.
1
if the CATSurLimits is containing iOtherBox.
o IsContaining
public CATLONG32 IsContaining( const CATSurLimits& iBox,
CATMathTransformation2D& ioTransfo2D,
double iPeriodU= 0,
double iPeriodV= 0,
double iTol= 0 )const
Tests whether the transformation of a CATSurLimits belongs to this.
Parameters:
iBox
The box which transformation is tested.
ioTransfo2D
The transformation to apply to iBox. In case of the transformed box belongs to this, and in case of a periodicity in one direction, the minimal corresponding transformation is returned.
iPeriodU
The periodicity in the first direction.
Legal values:
1
The surface is periodic in the first direction.
0
Otherwise.
iPeriodV
The periodicity in the second direction.
Legal values:
1
The surface is periodic in the second direction.
0
Otherwise.
Returns:
The result of the test.
Legal values:
1
if ioTranfo2D(iBox) belongs to this.
0
otherwise.
o IsContaining
public CATLONG32 IsContaining( const CATSurLimits& iOtherBox,
double iTol) const
Tests whether this CATSurLimits is including another CATSurLimits at a given tolerance.
Parameters:
iOtherBox
The box to test.
iTol
The tolerance to take into account.
Returns:
The result of the test.
Legal values:
0
if the CATSurLimits is not containing iOtherBox.
1
if the CATSurLimits is containing iOtherBox.
o IsContaining
public CATLONG32 IsContaining( const CATSurParam& iPointToCompare) const
Tests wether this CATSurParam is inside a CATSurLimits.
Parameters:
iPointToCompare
The point to test.
Returns:
The result of the test.
Legal values:
0
if the CATSurLimits does not contain the CATCrvParam.
1
if the CATSurLimits contains the CATSurParam.
o IsContaining
public CATLONG32 IsContaining( const CATSurParam& iPointToCompare,
double iTol) const
Tests wether this CATSurParam is inside a CATSurLimits at a given tolerance.
Parameters:
iPointToCompare
The point to test.
iTol
The tolerance to take into account.
Returns:
The result of the test.
Legal values:
0
if the CATSurLimits does not contain the CATCrvParam.
1
if the CATSurLimits contains the CATSurParam.
o IsEmpty
public INLINE CATLONG32 IsEmpty()const
Tests whether this CATCrvLimits is empty.
Returns:
The result of the test.
Legal values:
0
if it is not empty.
1
if it is empty.
o IsEqualU
public CATBoolean IsEqualU( const CATSurLimits& iComparedBox) const
Tests whether two CATSurLimits are equal (logically, no tolerance) with regards to the first coordinate.
Returns:
The result of the test.
Legal values:
TRUE
The first coodinates are logically equal.
FALSE
Otherwise.
o IsEqualV
public CATBoolean IsEqualV( const CATSurLimits& iComparedBox) const
Tests whether two CATSurLimits are equal (logically, no tolerance) with regards to second coordinate.
Returns:
The result of the test.
Legal values:
TRUE
The second coodinates are logically equal.
FALSE
Otherwise.
o IsIntersecting
public CATLONG32 IsIntersecting( const CATSurLimits& iBoxToCompare) const
Tests whether this CATSurLimits is intersecting another one.
Parameters:
iBoxToCompare
The box to compare.
Returns:
The result of the test.
Legal values:
0
if there is no intersection.
1
if there is an intersection (this is also the case when there is just a point or a line in common).
o IsIntersecting
public CATLONG32 IsIntersecting( const CATSurLimits& iBoxToCompare,
double iTol) const
Tests whether this CATSurLimits is intersecting another one at a given tolerance.
Parameters:
iBoxToCompare
The box to compare.
iTol
The tolerance to take into account.
Returns:
The result of the test.
Legal values:
0
if there is no intersection.
1
if there is an intersection (this is also the case when there is just a point or a line in common).
o SetHigh
public void SetHigh( const CATSurParam& iHighParam)
Modifies the high CATSurParam of this CATCrvLimits.
Check before that iHighParam is higher than iLowParam.
Parameters:
iLowParam
The new last limit.
o SetLow
public void SetLow( const CATSurParam& iLowParam)
Modifies the low CATSurParam of this CATCrvLimits.
Check before that iLowParam is lower than iHighParam.
Parameters:
iLowParam
The new low limit.
o SetToEmpty
public INLINE void SetToEmpty()
Sets this CATSurLimits to an empty one.
o SetToIntersection
public void SetToIntersection( const CATSurLimits& iBox1,
const CATSurLimits& iBox2)
Replaces this CATSurLimits by the intersection of two other ones.
The result may be an empty CATSurLimits.
Parameters:
iBox1
The first CATSurLimits to intersect.
iBox2
The second CATSurLimits to intersect.
o SetToUnion
public void SetToUnion( const CATSurLimits& iBox1,
const CATSurLimits& iBox2)
Replaces this CATSurLimits by the union of two other one.
this becomes the CATSurLimits of low limit the lowest limit of the two CATSurlimits and of high limit the highest limit, even the two CATSurLimits are not intersecting each other.
Parameters:
iBox1
The first CATSurLimits to union.
iBox2
The second CATSurLimits to union.
o operator !=
public CATLONG32 operator !=( const CATSurLimits& iComparedBox) const
Inequality operator.
( Lim1 != Lim2 ) <=> (Lim1.GetLow != Lim2GetLow) or
                          (Lim1.GetHigh != Lim2.GetHigh)
                          
o operator ==
public CATLONG32 operator ==( const CATSurLimits& iComparedBox) const
Equality operator.
( Lim1 == Lim2 ) <=> (Lim1.GetLow == Lim2GetLow) and
                          (Lim1.GetHigh == Lim2.GetHigh) 
                         

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

Copyright © 2003, Dassault Systèmes. All rights reserved.