All Frameworks  Class Hierarchy  This Framework  Previous  Indexes

AdvancedMathematics Class CATMathSetOfPointsNDWithVectors

Mathematics.CATCGMVirtual
  |
  +---AdvancedMathematics.CATMathSetOfPointsND
    |
    +---AdvancedMathematics.CATMathSetOfPointsNDTwoTangents
      |
      +---CATMathSetOfPointsNDWithVectors
 

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


public class CATMathSetOfPointsNDWithVectors

Class defining a set of points in R^n with associated vectors.


Constructor and Destructor Index


o CATMathSetOfPointsNDWithVectors(CATLONG32,CATLONG32)
Constructs a CATMathSetOfPointsNDTwoTangents.
o CATMathSetOfPointsNDWithVectors(CATMathSetOfPointsNDWithVectors&)
Copy constructor.
o ~CATMathSetOfPointsNDWithVectors()

Method Index


o AddNewPointWithVector(double*,double*,double)
Appends a point and its associated vector at the end of the set, if the point is different from the last one.
o AddPoint(double*)
Appends a point at the end of the set.
o AddPointWithVector(double*,double*)
Appends a point and its associated vector at the end of the set.
o AddSet(CATMathSetOfPointsNDWithVectors&,CATBoolean)
Concatenates a CATMathSetOfPointsNDWithVectors just after the last point of this CATMathSetOfPointsNDWithVectors.
o AutoInvert()
Inverts the content of this CATMathSetOfPointsNDWithVectors inside itself.
o FindCircle(CATLONG32*,double&,double*,double*,double*,double,double,CATTolerance&)
Searches for a 3D circle defined by the set of points on 3 specific coordinates.
o GetLastTangent()
Returns the last tangent of this CATMathSetOfPointsNDWithVectors.
o GetPointWithVector(CATLONG32,double*,double*)
Retrieves the coordinates of a specific point and its associated vector .
o GetVector(CATLONG32,double*)
Retrieves the vector associated with a specific point of this CATMathSetOfPointsNDWithVector.
o GetVector(double*)
Retrieves the coordinates of the vector associated with the current point.
o GetVectors()
Returns the coordinates of the vector associated with the current point.
o InitializeParameters(double*)
Computes the distance between two successive points of this CATMathSetOfPointsNDWithVectors.
o InsertPoint(double*,CATLONG32)
Inserts a point at a specific position.
o InsertPointWithVector(double*,double*,CATLONG32)
Inserts a point and its associated vector at a specific position.
o Invert(CATMathSetOfPointsNDWithVectors&)
Inverts the content of this CATMathSetOfPointsNDWithVectors.
o IsA()
Returns the class name .
o IsAKindOf(CATMathClassId)
Tests the class of this CATMathSetOfPointsNDWithVectors.
o IsLinear(CATLONG32,CATLONG32*,CATTolerance&)
Searches for a line defined by the set of points on specific coordinates.
o Pack()
Packs this CATMathSetOfPointsWithVectors.
o RemovePoint(CATLONG32)
Removes one point of this CATMathSetOfPointsNDWithVectors.
o RemovePoints(CATMathSetOfLongs&)
Removes points of this CATMathSetOfPointsNDWithVectors.
o ReplaceVector(CATLONG32,double*)
Replaces the coordinates of the vector associated with a specific point.
o ReplaceVector(double*)
Replaces the coordinates of vector associated with the current point.
o Reset()
Resets this CATMathSetOfPointsTwoTangents (the points, the vectors and tangents).
o SetLastTangent(double*)
Modifies the last tangent of this CATMathSetOfPointsNDWithVectors.
o SetPeriodic(CATBoolean)
Sets the periodicity of this CATMathSetOfPointsNDWithVectors.
o Split(CATLONG32,CATMathSetOfPointsNDWithVectors&,CATBoolean,CATTolerance&)
Splits a CATMathSetOfPointsNDWithVectors just after the point corresponding to the iIndex.
o SwapPoints(CATLONG32,CATLONG32)
Swaps two points inside this CATMathSetOfPointsNDWithVectors.
o operator =(CATMathSetOfPointsNDWithVectors&)
Assignment operator.

Constructor and Destructor


o CATMathSetOfPointsNDWithVectors
public CATMathSetOfPointsNDWithVectors( const CATLONG32 iN,
const CATLONG32 iNumberOfPoint)
Constructs a CATMathSetOfPointsNDTwoTangents.
The tangents are initialized by the null vector.
Parameters:
iN
The dimension of the space.
iNumberOfPoint
The size of the set.
o CATMathSetOfPointsNDWithVectors
public CATMathSetOfPointsNDWithVectors( const CATMathSetOfPointsNDWithVectors& iToCopy)
Copy constructor.
o ~CATMathSetOfPointsNDWithVectors
public ~CATMathSetOfPointsNDWithVectors()

Methods


o AddNewPointWithVector
public CATLONG32 AddNewPointWithVector( const double* iPoint,
const double* iVector,
const double iTol)
Appends a point and its associated vector at the end of the set, if the point is different from the last one. If needed, this CATMathSetOfPointsNDWithVectors is reallocated.
Parameters:
iPoint
The array of the coordinates of the point.
iVector
The array of the coordinates of the vector.
iTol
The tolerance of confusion. If 0, the numerical tolerance is used.
o AddPoint
public void AddPoint( const double* iPoint)
Appends a point at the end of the set. If needed, this CATMathSetOfPointsNDWithVectors is reallocated.
Parameters:
iPoint
The array of the coordinates.
o AddPointWithVector
public void AddPointWithVector( const double* iPoint,
const double* iVector)
Appends a point and its associated vector at the end of the set. If needed, this CATMathSetOfPointsNDWithVectors is reallocated.
Parameters:
iPoint
The array of the coordinates of the point.
iVector
The array of the coordinates of the vector.
o AddSet
public void AddSet( const CATMathSetOfPointsNDWithVectors& iSetToConcatenate,
CATBoolean iMerge)
Concatenates a CATMathSetOfPointsNDWithVectors just after the last point of this CATMathSetOfPointsNDWithVectors. If needed, this CATMathSetOfPointsNDWithVectors is reallocated.
Parameters:
iSetToConcatenate
The set to concatenate.
iMerge
The way to concatenate.
Legal values: TRUE if the last point of this CATMathSetOfPointsNDWithVectors. and the first point of iSetToConcatenate must be merged, FALSE otherwise.
o AutoInvert
public void AutoInvert()
Inverts the content of this CATMathSetOfPointsNDWithVectors inside itself.
The tangents and the vectors are also inverted.
o FindCircle
public virtual CATLONG32 FindCircle( const CATLONG32* iCoordIndex,
double& ioRadius,
double* ioCenter,
double* ioU,
double* ioV,
double iTol=0.,
double iPlanarityTol= 0.,
const CATTolerance& iTolObject=CATGetDefaultTolerance())const
Searches for a 3D circle defined by the set of points on 3 specific coordinates.
Parameters:
iCoordIndex
The array of 3 coodinates indexes to be taken into account, such that 0 <= iCoord[i] < N, i=0,1,2.
ioRadius
The value of the radius of the circle.
ioCenter
The 3D center point.
ioU
The first normed vector of the circle plane.
ioV
The second orthonormed vector of the circle plane.
iTol
The tolerance to match the circle. By default, the numerical tolerance is used.
iPlanarityTol
The tolerance to match the circle plane. By default, the numerical tolerance is used.
iTolObject
The default tolerance.
Returns:
The result diagnosis. 1 if a circle has been found, 0 otherwise.
o GetLastTangent
public const double * GetLastTangent()const
Returns the last tangent of this CATMathSetOfPointsNDWithVectors.
Returns:
The array [N] of coordinates. Must be previously allocated.
o GetPointWithVector
public void GetPointWithVector( const CATLONG32 iPointIndex,
double* oPoint,
double* oVector) const
Retrieves the coordinates of a specific point and its associated vector .
Parameters:
iPointIndex
The index of the point (0<= iPointIndex < NumberOfPoints).
oPoint
A pointer to the coordinates of the point.
oVector
A pointer to the coordinates of the vector.
o GetVector
public void GetVector( const CATLONG32 iPointIndex,
double* oVector) const
Retrieves the vector associated with a specific point of this CATMathSetOfPointsNDWithVector.
Parameters:
iPointIndex
The index of the point (0<= iPointIndex < NumberOfPoints).
oVector
A pointer to the coordinates.
o GetVector
public void GetVector(double* oVector) const
Retrieves the coordinates of the vector associated with the current point.
Parameters:
oVector
A pointer to the the coordinates .
o GetVectors
public const double * GetVectors()const
Returns the coordinates of the vector associated with the current point.
Returns:
A pointer to the vectors.
o InitializeParameters
public void InitializeParameters(double* ioParameters) const
Computes the distance between two successive points of this CATMathSetOfPointsNDWithVectors.
Parameters:
ioParameters
The array of distance of each successive interval. Must be previously allocated to NumberOfPoints-1.
o InsertPoint
public void InsertPoint( const double* iPoint,
const CATLONG32 iPointIndex)
Inserts a point at a specific position. If needed, this CATMathSetOfPointsNDWithVectors is reallocated.
Parameters:
iPoint
The array of the new coordinates.
iPointIndex
The index of the point (0<= iPointIndex < NumberOfPoints).
o InsertPointWithVector
public void InsertPointWithVector( const double* iPoint,
const double* iVector,
const CATLONG32 iPointIndex)
Inserts a point and its associated vector at a specific position. If needed, this CATMathSetOfPointsNDWithVectors is reallocated.
Parameters:
iPoint
The array of the new coordinates.
iVector
The array of the coordinates of the vector.
iPointIndex
The index of the point (0<= iPointIndex < NumberOfPoints).
o Invert
public void Invert(CATMathSetOfPointsNDWithVectors& iResultingSet) const
Inverts the content of this CATMathSetOfPointsNDWithVectors.
Parameters:
ioResultingSet
The result of the inversion (must be previously allocated). The tangents and the vectors are also inverted.
o IsA
public CATMathClassId IsA()const
Returns the class name .
Returns:
CATMathSetOfPointsNDWithVectors.
o IsAKindOf
public CATBoolean IsAKindOf( const CATMathClassId iClassId) const
Tests the class of this CATMathSetOfPointsNDWithVectors.
Parameters:
iClassId
The name of the class.
Returns:
The result of the test.
Legal values: TRUE if this CATMathSetOfPointsNDTWithVectors is a kind of iClassId, FALSE otherwise.
o IsLinear
public CATLONG32 IsLinear( const CATLONG32 iNumCoord,
const CATLONG32* iCoordIndex,
const CATTolerance& iTolObject=CATGetDefaultTolerance())const
Searches for a line defined by the set of points on specific coordinates.
Parameters:
iNumCoord
The number of coordinates to take into account.
iCoordIndex
The array of iNumCoord coodinates indexes to be taken into account, such that 0 <= iCoord[i] < N, i=0,..,iNumCoord-1.
iTol
The tolerance to match the line. By default, the numerical tolerance is used.
Returns:
The result diagnosis. 1 if a line has been found, 0 otherwise.
o Pack
public void Pack()
Packs this CATMathSetOfPointsWithVectors.
In this case, _MaxNumberOfPoint = _NumberOfPoint.
o RemovePoint
public void RemovePoint( const CATLONG32 iIndexToRemove)
Removes one point of this CATMathSetOfPointsNDWithVectors.
The points after the removed point are shift, but the memory is not deleted (_MaxNumberOfPoint still remains the same).
Parameters:
iIndexToRemove
The index of the point to remove 0<= iIndexToRemove < NumberOfPoints .
o RemovePoints
public void RemovePoints( const CATMathSetOfLongs& iPointsIndex)
Removes points of this CATMathSetOfPointsNDWithVectors.
The remaining points are shift, but the memory is not deleted (_MaxNumberOfPoint still remains the same).
Parameters:
iPointsIndex
The list of the indexes of the points to remove.
o ReplaceVector
public void ReplaceVector( const CATLONG32 iPointIndex,
const double* iVector)
Replaces the coordinates of the vector associated with a specific point.
Parameters:
iPointIndex
The index of the point (0<= iPointIndex < NumberOfPoints).
iVector
The array of the new coordinates.
o ReplaceVector
public void ReplaceVector( const double* iVector)
Replaces the coordinates of vector associated with the current point.
Parameters:
iVector
The array of the new coordinates.
o Reset
public void Reset()
Resets this CATMathSetOfPointsTwoTangents (the points, the vectors and tangents).
The memory is not deleted and the class can be used again.
o SetLastTangent
public void SetLastTangent( const double* iB)
Modifies the last tangent of this CATMathSetOfPointsNDWithVectors.
Parameters:
iB
The array [N] of coordinates.
o SetPeriodic
public void SetPeriodic( const CATBoolean iPeriodic= 1)
Sets the periodicity of this CATMathSetOfPointsNDWithVectors.
Parameters:
iPeriodic

Legal values :
1
Sets to periodic: in this case, the first and the last points must be the same.
0
unsets the periodicity.
o Split
public void Split( const CATLONG32 iIndex,
CATMathSetOfPointsNDWithVectors& ioSetbis,
CATBoolean iMerge,
const CATTolerance& iTolObject=CATGetDefaultTolerance())
Splits a CATMathSetOfPointsNDWithVectors just after the point corresponding to the iIndex. The part of this CATMathSetOfPointsNDWithVectors before iIndex will stay in this CATMathSetOfPointsNDWithVectors, and the part after will go in ioSetbis. If needed, ioSetbis is reallocated,and this CATMathSetOfPointsNDWithVectors is disallocated.
Parameters:
iIndex
The index of the point where to split(0<=iIndex
iSetbis
The new set after the split(must be previously allocated).
iMerge
The way to split.
Legal values: TRUE if the last point of new this CATMathSetOfPointsNDWithVectors. and the first point of iSetbis will be the same equal to iIndex point, FALSE if the last . point of new this CATMathSetOfPointsNDWithVectors will be equal to iIndex point and the first point. of iSetbis will be the iIndex+1 point.
iTolObject
The default tolerance.
o SwapPoints
public void SwapPoints( const CATLONG32 iPointIndex1,
const CATLONG32 iPointIndex2)
Swaps two points inside this CATMathSetOfPointsNDWithVectors.
Parameters:
iPointIndex1
The index of the first point to swap.
iPointIndex2
The index of the second point to swap.
o operator =
public CATMathSetOfPointsNDWithVectors & operator =( const CATMathSetOfPointsNDWithVectors& iS)
Assignment operator.

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

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