Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
GEOM::GEOM_IMeasureOperations Interface Reference

Interface for measurement (distance, whatis) and properties calculation (like Centre of Mass, Inertia, etc.).

import "GEOM_Gen.idl";

Inheritance diagram for GEOM::GEOM_IMeasureOperations:
Inheritance graph

Classes

struct  ShapeError
 Description of a shape defect: type and incriminated sub-shapes. More...
 

Public Types

enum  ShapeErrorType {
  InvalidPointOnCurve, InvalidPointOnCurveOnSurface, InvalidPointOnSurface, No3DCurve,
  Multiple3DCurve, Invalid3DCurve, NoCurveOnSurface, InvalidCurveOnSurface,
  InvalidCurveOnClosedSurface, InvalidSameRangeFlag, InvalidSameParameterFlag, InvalidDegeneratedFlag,
  FreeEdge, InvalidMultiConnexity, InvalidRange, EmptyWire,
  RedundantEdge, SelfIntersectingWire, NoSurface, InvalidWire,
  RedundantWire, IntersectingWires, InvalidImbricationOfWires, EmptyShell,
  RedundantFace, UnorientableShape, NotClosed, NotConnected,
  SubshapeNotInShape, BadOrientation, BadOrientationOfSubshape, InvalidToleranceValue,
  CheckFail
}
 Enumeration of Shape defects coming from CheckShape algorithms. More...
 
typedef sequence< ShapeErrorShapeErrors
 Sequence of all shape defects. More...
 

Public Member Functions

GEOM_IKindOfShape::shape_kind KindOfShape (in GEOM_Object theShape, out ListOfLong theIntegers, out ListOfDouble theDoubles)
 Get kind of theShape. More...
 
void GetPosition (in GEOM_Object theShape, out double Ox, out double Oy, out double Oz, out double Zx, out double Zy, out double Zz, out double Xx, out double Xy, out double Xz)
 Get position (LCS) of theShape. More...
 
void GetBasicProperties (in GEOM_Object theShape, in double theTolerance, out double theLength, out double theSurfArea, out double theVolume)
 Get summarized length of all wires, area of surface and volume of the given shape. More...
 
GEOM_Object GetCentreOfMass (in GEOM_Object theShape)
 Get a point, situated at the centre of mass of theShape. More...
 
GEOM_Object GetVertexByIndex (in GEOM_Object theShape, in long index)
 
GEOM_Object GetNormal (in GEOM_Object theFace, in GEOM_Object theOptionalPoint)
 Get a vector, representing the normal of theFace. If the face is not planar, theOptionalPoint is obligatory. More...
 
void GetInertia (in GEOM_Object theShape, out double I11, out double I12, out double I13, out double I21, out double I22, out double I23, out double I31, out double I32, out double I33, out double Ix, out double Iy, out double Iz)
 Get inertia matrix and moments of inertia of theShape. More...
 
void GetBoundingBox (in GEOM_Object theShape, in boolean precise, out double Xmin, out double Xmax, out double Ymin, out double Ymax, out double Zmin, out double Zmax)
 Get parameters of bounding box of the given shape. More...
 
GEOM_Object MakeBoundingBox (in GEOM_Object theShape, in boolean precise)
 Get bounding box of the given shape. More...
 
void GetTolerance (in GEOM_Object theShape, out double FaceMin, out double FaceMax, out double EdgeMin, out double EdgeMax, out double VertMin, out double VertMax)
 Get min and max tolerances of sub-shapes of theShape. More...
 
boolean CheckShape (in GEOM_Object theShape, out ShapeErrors theErrors)
 Check a topology of the given shape. More...
 
boolean CheckShapeWithGeometry (in GEOM_Object theShape, out ShapeErrors theErrors)
 Check a topology and a geometry of the given shape. More...
 
string PrintShapeErrors (in GEOM_Object theShape, in ShapeErrors theErrors)
 Convert sequence of shape errors, returned by CheckShape() or CheckShapeWithGeometry(), into string. More...
 
boolean CheckSelfIntersections (in GEOM_Object theShape, in long theCheckLevel, out ListOfLong theIntersections)
 Check a topology of the given shape on self-intersections presence. More...
 
boolean CheckSelfIntersectionsFast (in GEOM_Object theShape, in float theDeflection, in double theTolerance, out ListOfLong theIntersections)
 Detect self-intersections of the given shape with algorithm based on mesh intersections. More...
 
boolean CheckBOPArguments (in GEOM_Object theShape)
 Check boolean and partition operations agruments. More...
 
boolean FastIntersect (in GEOM_Object theShape1, in GEOM_Object theShape2, in double theTolerance, in float theDeflection, out ListOfLong theIntersections1, out ListOfLong theIntersections2)
 Detect intersections of the given shapes with algorithm based on mesh intersections. More...
 
string IsGoodForSolid (in GEOM_Object theShape)
 Check if the given shape can be an argument for MakeSolid operation. More...
 
string WhatIs (in GEOM_Object theShape)
 btain description of the given shape More...
 
ListOfBool AreCoordsInside (in GEOM_Object theShape, in ListOfDouble coords, in double tolerance)
 Check if points defined by coords = [x1, y1, z1, x2, y2, z2, ...] are inside or on the shape theShape. More...
 
double GetMinDistance (in GEOM_Object theShape1, in GEOM_Object theShape2, out double X1, out double Y1, out double Z1, out double X2, out double Y2, out double Z2)
 Get minimal distance between the given shapes. More...
 
long ClosestPoints (in GEOM_Object theShape1, in GEOM_Object theShape2, out ListOfDouble theCoords)
 Get closest points of the given shapes. More...
 
double GetAngle (in GEOM_Object theShape1, in GEOM_Object theShape2)
 Get angle between the given lines or linear edges. More...
 
double GetAngleBtwVectors (in GEOM_Object theShape1, in GEOM_Object theShape2)
 Get angle between the given vectors. More...
 
void PointCoordinates (in GEOM_Object theShape, out double X, out double Y, out double Z)
 Get point coordinates. More...
 
double CurveCurvatureByParam (in GEOM_Object theShape, in double theParam)
 Get radius of curvature of curve in the point determinated by param. More...
 
double CurveCurvatureByPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
 Get radius of curvature of curve in the given point. More...
 
double MaxSurfaceCurvatureByParam (in GEOM_Object theShape, in double theUParam, in double theVParam)
 Get max radius of curvature of surface in the point determinated by params. More...
 
double MaxSurfaceCurvatureByPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
 Get max radius of curvature of surface in the given point. More...
 
double MinSurfaceCurvatureByParam (in GEOM_Object theShape, in double theUParam, in double theVParam)
 Get min radius of curvature of surface in the point determinated by params. More...
 
double MinSurfaceCurvatureByPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
 Get min radius of curvature of surface in the given point. More...
 
- Public Member Functions inherited from GEOM::GEOM_IOperations
boolean IsDone ()
 To know, if the operation was successfully performed. More...
 
void SetErrorCode (in string theErrorID)
 Set the operation error code. More...
 
string GetErrorCode ()
 Get the operation error code. More...
 
long GetStudyID ()
 Get ID of study, where the operation is defined. More...
 
void StartOperation ()
 Opens a new transaction. More...
 
void FinishOperation ()
 Closes the previously opened trasaction. More...
 
void AbortOperation ()
 Aborts the previously opened transaction. More...
 

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
InvalidPointOnCurve 
InvalidPointOnCurveOnSurface 
InvalidPointOnSurface 
No3DCurve 
Multiple3DCurve 
Invalid3DCurve 
NoCurveOnSurface 
InvalidCurveOnSurface 
InvalidCurveOnClosedSurface 
InvalidSameRangeFlag 
InvalidSameParameterFlag 
InvalidDegeneratedFlag 
FreeEdge 
InvalidMultiConnexity 
InvalidRange 
EmptyWire 
RedundantEdge 
SelfIntersectingWire 
NoSurface 
InvalidWire 
RedundantWire 
IntersectingWires 
InvalidImbricationOfWires 
EmptyShell 
RedundantFace 
UnorientableShape 
NotClosed 
NotConnected 
SubshapeNotInShape 
BadOrientation 
BadOrientationOfSubshape 
InvalidToleranceValue 
CheckFail 

Member Function Documentation

ListOfBool GEOM::GEOM_IMeasureOperations::AreCoordsInside ( in GEOM_Object  theShape,
in ListOfDouble  coords,
in double  tolerance 
)
Parameters
theShapeShape to check.
coordslist of coordinates.
tolerancetolerance.
Returns
list of boolean.
boolean GEOM::GEOM_IMeasureOperations::CheckBOPArguments ( in GEOM_Object  theShape)
Parameters
theShapethe agrument of an operation to be checked.
Returns
TRUE if the agrument is valid for a boolean or partition operation; FALSE otherwise.
boolean GEOM::GEOM_IMeasureOperations::CheckSelfIntersections ( in GEOM_Object  theShape,
in long  theCheckLevel,
out ListOfLong  theIntersections 
)
Parameters
theShapeShape to check validity of.
theCheckLevelthe level of self-interference check.
theIntersectionsOutput. List of intersected sub-shapes IDs, it contains pairs of IDs.
Returns
TRUE, if the shape does not have any self-intersections.
boolean GEOM::GEOM_IMeasureOperations::CheckSelfIntersectionsFast ( in GEOM_Object  theShape,
in float  theDeflection,
in double  theTolerance,
out ListOfLong  theIntersections 
)
Parameters
theShapeShape to check validity of.
theDeflectionLinear deflection coefficient that specifies quality of tesselation.
theToleranceSpecifies a distance between sub-shapes used for detecting gaps:
  • if theTolerance <= 0, algorithm detects intersections
  • if theTolerance > 0, algorithm detects gaps
theIntersectionsOutput. List of intersected sub-shapes IDs, it contains pairs of IDs.
Returns
TRUE, if the shape does not have any self-intersections.
boolean GEOM::GEOM_IMeasureOperations::CheckShape ( in GEOM_Object  theShape,
out ShapeErrors  theErrors 
)
Parameters
theShapeShape to check validity of.
theErrorsStructure, containing discovered errors and incriminated sub-shapes.
Returns
TRUE, if the shape "seems to be valid" from the topological point of view.
boolean GEOM::GEOM_IMeasureOperations::CheckShapeWithGeometry ( in GEOM_Object  theShape,
out ShapeErrors  theErrors 
)
Parameters
theShapeShape to check validity of.
theErrorsStructure, containing discovered errors and incriminated sub-shapes.
Returns
TRUE, if the shape "seems to be valid".
long GEOM::GEOM_IMeasureOperations::ClosestPoints ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2,
out ListOfDouble  theCoords 
)
Parameters
theShape1,theShape2Shapes to find closest points of.
theCoordsOutput. List of (X, Y, Z) coordinates for all couples of points.
Returns
The number of found solutions (-1 in case of infinite number of solutions).
double GEOM::GEOM_IMeasureOperations::CurveCurvatureByParam ( in GEOM_Object  theShape,
in double  theParam 
)
Parameters
theShape- curve.
theParam- parameter on curve
Returns
Value of curvature.
double GEOM::GEOM_IMeasureOperations::CurveCurvatureByPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)
Parameters
theShape- curve.
thePoint- point
Returns
Value of curvature.
boolean GEOM::GEOM_IMeasureOperations::FastIntersect ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2,
in double  theTolerance,
in float  theDeflection,
out ListOfLong  theIntersections1,
out ListOfLong  theIntersections2 
)
Parameters
theShape1First source object
theShape2Second source object
theToleranceSpecifies a distance between shapes used for detecting gaps:
  • if theTolerance <= 0, algorithm detects intersections
  • if theTolerance > 0, algorithm detects gaps
theDeflectionLinear deflection coefficient that specifies quality of tesselation:
  • if theDeflection <= 0, default deflection 0.001 is used
theIntersections1Output: contains list of sub-shapes IDs from 1st shape that localize intersection
theIntersections2Output: contains list of sub-shapes IDs from 2nd shape that localize intersection
Returns
TRUE, if the are intersections (gaps) between source shapes
double GEOM::GEOM_IMeasureOperations::GetAngle ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2 
)
Parameters
theShape1,theShape2Shapes to find angle between. Lines or linear edges.
Returns
Value of the angle between the given shapes.
double GEOM::GEOM_IMeasureOperations::GetAngleBtwVectors ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2 
)
Parameters
theShape1,theShape2Vectors to find angle between.
Returns
Value of the angle between the given vectors.
void GEOM::GEOM_IMeasureOperations::GetBasicProperties ( in GEOM_Object  theShape,
in double  theTolerance,
out double  theLength,
out double  theSurfArea,
out double  theVolume 
)
Parameters
theShapeShape to define properties of.
theTolerancemaximal relative error of area and volume computation.
theLengthOutput. Summarized length of all wires of the given shape.
theSurfAreaOutput. Area of surface of the given shape.
theVolumeOutput. Volume of the given shape.
Returns
Returns shape properties through the last three arguments.
void GEOM::GEOM_IMeasureOperations::GetBoundingBox ( in GEOM_Object  theShape,
in boolean  precise,
out double  Xmin,
out double  Xmax,
out double  Ymin,
out double  Ymax,
out double  Zmin,
out double  Zmax 
)
Parameters
theShapeShape to obtain bounding box of.
preciseTRUE for precise computation; FALSE for fast one.
Xmin,XmaxOutput. Limits of shape along OX axis.
Ymin,YmaxOutput. Limits of shape along OY axis.
Zmin,ZmaxOutput. Limits of shape along OZ axis.
Returns
Returns parameters of bounding box through the last six arguments.
GEOM_Object GEOM::GEOM_IMeasureOperations::GetCentreOfMass ( in GEOM_Object  theShape)
Parameters
theShapeShape to define centre of mass of.
Returns
New GEOM_Object, containing the created point.
void GEOM::GEOM_IMeasureOperations::GetInertia ( in GEOM_Object  theShape,
out double  I11,
out double  I12,
out double  I13,
out double  I21,
out double  I22,
out double  I23,
out double  I31,
out double  I32,
out double  I33,
out double  Ix,
out double  Iy,
out double  Iz 
)
Parameters
theShapeShape to calculate inertia of.
I11,I12,I13,I21,I22,I23,I31,I32,I33Output. Components of the inertia matrix of the given shape.
Ix,Iy,IzOutput. Moments of inertia of the given shape.
Returns
Returns inertia through the last twelve arguments.
double GEOM::GEOM_IMeasureOperations::GetMinDistance ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2,
out double  X1,
out double  Y1,
out double  Z1,
out double  X2,
out double  Y2,
out double  Z2 
)
Parameters
theShape1,theShape2Shapes to find minimal distance between.
X1,Y1,Z1Output. Coordinates of point on theShape1, nearest to theShape2.
X2,Y2,Z2Output. Coordinates of point on theShape2, nearest to theShape1.
Returns
Value of the minimal distance between the given shapes.
GEOM_Object GEOM::GEOM_IMeasureOperations::GetNormal ( in GEOM_Object  theFace,
in GEOM_Object  theOptionalPoint 
)
Parameters
theFaceShape (face) to define the normal of.
theOptionalPointShape (point) to define the normal at. Can be NULL in case of planar face.
Returns
New GEOM_Object, containing the created normal vector.
void GEOM::GEOM_IMeasureOperations::GetPosition ( in GEOM_Object  theShape,
out double  Ox,
out double  Oy,
out double  Oz,
out double  Zx,
out double  Zy,
out double  Zz,
out double  Xx,
out double  Xy,
out double  Xz 
)
Parameters
theShapeShape to calculate position of.
Ox,Oy,OzOutput. Coordinates of shape's location origin. Origin of the LCS is situated at the shape's center of mass.
Zx,Zy,ZzOutput. Coordinates of shape's location normal(main) direction.
Xx,Xy,XzOutput. Coordinates of shape's location X direction. Axes of the LCS are obtained from shape's location or, if the shape is a planar face, from position of its plane.
Returns
Returns position of the shape through the last nine arguments.
void GEOM::GEOM_IMeasureOperations::GetTolerance ( in GEOM_Object  theShape,
out double  FaceMin,
out double  FaceMax,
out double  EdgeMin,
out double  EdgeMax,
out double  VertMin,
out double  VertMax 
)
Parameters
theShapeShape, to get tolerances of.
FaceMin,FaceMaxOutput. Min and max tolerances of the faces.
EdgeMin,EdgeMaxOutput. Min and max tolerances of the edges.
VertMin,VertMaxOutput. Min and max tolerances of the vertices.
Returns
Returns shape tolerances through the last six arguments.
GEOM_Object GEOM::GEOM_IMeasureOperations::GetVertexByIndex ( in GEOM_Object  theShape,
in long  index 
)
string GEOM::GEOM_IMeasureOperations::IsGoodForSolid ( in GEOM_Object  theShape)
Parameters
theShapeShape to be described.
Returns
Empty string if a solid can be made on this shape, error code otherwise.
GEOM_IKindOfShape::shape_kind GEOM::GEOM_IMeasureOperations::KindOfShape ( in GEOM_Object  theShape,
out ListOfLong  theIntegers,
out ListOfDouble  theDoubles 
)
Parameters
theShapeShape to get a kind of.
theIntegersOutput. Integer and enumerated shape's parameters (kind of surface, closed/unclosed, number of edges, etc.)
theDoublesOutput. Double shape's parameters (coordinates, dimensions, etc.)
Note
Concrete meaning of each value, returned via theIntegers or theDoubles list depends on the kind of the shape.
Returns
Returns a kind of shape in terms of GEOM_IKindOfShape.shape_kind enumeration.
GEOM_Object GEOM::GEOM_IMeasureOperations::MakeBoundingBox ( in GEOM_Object  theShape,
in boolean  precise 
)
Parameters
theShapeShape to obtain bounding box of.
preciseTRUE for precise computation; FALSE for fast one.
Returns
New GEOM_Object, containing the created bounding box.
double GEOM::GEOM_IMeasureOperations::MaxSurfaceCurvatureByParam ( in GEOM_Object  theShape,
in double  theUParam,
in double  theVParam 
)
Parameters
theShape- surface.
theUParam- U-parameter on surface
theVParam- V-parameter on surface
Returns
Value of curvature.
double GEOM::GEOM_IMeasureOperations::MaxSurfaceCurvatureByPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)
Parameters
theShape- surface.
thePoint- point
Returns
Value of curvature.
double GEOM::GEOM_IMeasureOperations::MinSurfaceCurvatureByParam ( in GEOM_Object  theShape,
in double  theUParam,
in double  theVParam 
)
Parameters
theShape- surface.
theUParam- U-parameter on surface
theVParam- V-parameter on surface
Returns
Value of curvature.
double GEOM::GEOM_IMeasureOperations::MinSurfaceCurvatureByPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)
Parameters
theShape- surface.
thePoint- point
Returns
Value of curvature.
void GEOM::GEOM_IMeasureOperations::PointCoordinates ( in GEOM_Object  theShape,
out double  X,
out double  Y,
out double  Z 
)
string GEOM::GEOM_IMeasureOperations::PrintShapeErrors ( in GEOM_Object  theShape,
in ShapeErrors  theErrors 
)
Parameters
theShapethe invalid shape.
theErrorsThe sequence of theShape errors.
Returns
String, describing all the errors in form, suitable for printing.
string GEOM::GEOM_IMeasureOperations::WhatIs ( in GEOM_Object  theShape)

O

Parameters
theShapeShape to be described.
Returns
Description of the given shape.

The documentation for this interface was generated from the following file: