GeometricObjects 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(CATSurParam&)
Replaces this by a CATSurLimits that also contains a given CATSurParam.
o AddInside(CATSurLimits&)
Replaces this by the union with an other CATSurLimits.
o AddInside(CATMathPoint2D&)
Replaces this by a CATCrvLimits that also contains a given CATMathPoint2D.
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(CATSurLimits&,CATSurParam&,CATSurParam&)
Retrieves the CATSurParam of the point that has the same relative position to this than RefPoint in RefBox.
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 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(CATSurParam&)
Tests wether this CATSurParam is inside a CATSurLimits.
o IsContaining(CATSurLimits&)
Tests whether this CATSurLimits is including another CATSurLimits.
o IsContaining(CATSurParam&,double)
Tests wether this CATSurParam is inside a CATSurLimits at a given tolerance.
o IsContaining(CATSurLimits&,double)
Tests whether this CATSurLimits is including another CATSurLimits at a given tolerance.
o IsContaining(CATSurLimits&,CATMathTransformation2D&,double,double,double)
Tests whether the transformation of a CATSurLimits belongs to this.
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 iSurLimitsToCopy)
Copy constructor.
o CATSurLimits
public CATSurLimits( const iLowSurParam,
const iHighSurParam,
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 AddInside( const iPointOnSurface)
Replaces this by a CATSurLimits that also contains a given CATSurParam.
Parameters:
iPointOnSurface
The point that must be contained by this.
o AddInside
public AddInside( const iOtherBox)
Replaces this by the union with an other CATSurLimits.
Parameters:
iOtherBox
The box to union with this.
o AddInside
public AddInside( const iPointUV)
Replaces this by a CATCrvLimits that also contains a given CATMathPoint2D.
Parameters:
iPointOnSurface
The point that must be contained by this.
o ApplyTransformation2D
public ApplyTransformation2D( const iTransfo2D,
ioLimits)
Applies a 2D transformation to this CATSurLimits.
Parameters:
iTransfo2D
The transformation to apply.
ioLimits
The resulting limits.
o Get2DBox
public Get2DBox( ioGlobalBox)
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 GetEquivalentParam( const iRefBox,
const iRefPoint,
ioResult)
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 GetEquivalentParam
public GetEquivalentParam( const iRefCrvLimits,
const iRefPoint,
const iIsoParameter,
const iIsoParamUV,
ioResult)
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 GetExtremities
public GetExtremities( ioLowParam,
ioHighParam)
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 GetExtremities( ioUmin,
ioVmin,
ioUmax,
ioVmax)
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 GetHigh( ioHighParam)
Retrieves the high CATSurParam of this CATSurLimits.
Check before that the CATSurLimits is not empty.
Parameters:
ioHighParam
The last limit.
o GetLocalExtremities
public GetLocalExtremities( ioLocalUmin,
ioLocalVmin,
ioLocalUmax,
ioLocalVmax,
ioUMinPartNumber,
ioVMinPartNumber,
ioUMaxPartNumber,
ioVMaxPartNumber)
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 GetLow( ioLowParam)
Retrieves the low CATSurParam of this CATSurLimits.
Check before that the CATSurLimits is not empty.
Parameters:
ioLowParam
The first limit.
o GetMiddle
public GetMiddle( ioUmiddle,
ioVmiddle)
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 IsContaining( const iPointToCompare)
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 IsContaining( const iOtherBox)
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 IsContaining( const iPointToCompare,
iTol)
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 IsContaining
public IsContaining( const iOtherBox,
iTol)
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 IsContaining( const iBox,
ioTransfo2D,
iPeriodU= 0,
iPeriodV= 0,
iTol= 0 )
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 IsEmpty
public IsEmpty()
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 IsEqualU( const iComparedBox)
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 IsEqualV( const iComparedBox)
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 IsIntersecting( const iBoxToCompare)
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 IsIntersecting( const iBoxToCompare,
iTol)
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 SetHigh( const 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 SetLow( const 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 SetToEmpty()
Sets this CATSurLimits to an empty one.
o SetToIntersection
public SetToIntersection( const iBox1,
const 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 SetToUnion( const iBox1,
const 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 operator !=( const iComparedBox)
Inequality operator.
( Lim1 != Lim2 ) <=> (Lim1.GetLow != Lim2GetLow) or
                          (Lim1.GetHigh != Lim2.GetHigh)
                          
o operator ==
public operator ==( const iComparedBox)
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: CATGeometricObjects

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