Version: 8.3.0
Home
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
GEOM_IMeasureOperations Interface Reference

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

import "GEOM_Gen.idl";

Data Structures

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...
 
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...
 

Detailed Description

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

Member Typedef Documentation

typedef sequence<ShapeError> ShapeErrors

Sequence of all shape defects.

Member Enumeration Documentation

Enumeration of Shape defects coming from CheckShape algorithms.

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

GEOM_IKindOfShape::shape_kind KindOfShape ( in GEOM_Object  theShape,
out ListOfLong  theIntegers,
out ListOfDouble  theDoubles 
)

Get kind of theShape.

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.
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.

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 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.

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.
GEOM_Object GetCentreOfMass ( in GEOM_Object  theShape)

Get a point, situated at the centre of mass of theShape.

Parameters
theShapeShape to define centre of mass of.
Returns
New GEOM_Object, containing the created point.
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.

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 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.

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.
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.

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 MakeBoundingBox ( in GEOM_Object  theShape,
in boolean  precise 
)

Get bounding box of the given shape.

Parameters
theShapeShape to obtain bounding box of.
preciseTRUE for precise computation; FALSE for fast one.
Returns
New GEOM_Object, containing the created bounding box.
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.

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.
boolean CheckShape ( in GEOM_Object  theShape,
out ShapeErrors  theErrors 
)

Check a topology of the given shape.

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 CheckShapeWithGeometry ( in GEOM_Object  theShape,
out ShapeErrors  theErrors 
)

Check a topology and a geometry of the given shape.

Parameters
theShapeShape to check validity of.
theErrorsStructure, containing discovered errors and incriminated sub-shapes.
Returns
TRUE, if the shape "seems to be valid".
string PrintShapeErrors ( in GEOM_Object  theShape,
in ShapeErrors  theErrors 
)

Convert sequence of shape errors, returned by CheckShape() or CheckShapeWithGeometry(), into string.

Parameters
theShapethe invalid shape.
theErrorsThe sequence of theShape errors.
Returns
String, describing all the errors in form, suitable for printing.
boolean CheckSelfIntersections ( in GEOM_Object  theShape,
in long  theCheckLevel,
out ListOfLong  theIntersections 
)

Check a topology of the given shape on self-intersections presence.

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 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.

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 CheckBOPArguments ( in GEOM_Object  theShape)

Check boolean and partition operations agruments.

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 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.

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
string IsGoodForSolid ( in GEOM_Object  theShape)

Check if the given shape can be an argument for MakeSolid operation.

Parameters
theShapeShape to be described.
Returns
Empty string if a solid can be made on this shape, error code otherwise.
string WhatIs ( in GEOM_Object  theShape)

btain description of the given shape

O

Parameters
theShapeShape to be described.
Returns
Description of the given shape.
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.

Parameters
theShapeShape to check.
coordslist of coordinates.
tolerancetolerance.
Returns
list of boolean.
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.

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.
long ClosestPoints ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2,
out ListOfDouble  theCoords 
)

Get closest points of the given shapes.

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 GetAngle ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2 
)

Get angle between the given lines or linear edges.

Parameters
theShape1,theShape2Shapes to find angle between. Lines or linear edges.
Returns
Value of the angle between the given shapes.
double GetAngleBtwVectors ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2 
)

Get angle between the given vectors.

Parameters
theShape1,theShape2Vectors to find angle between.
Returns
Value of the angle between the given vectors.
void PointCoordinates ( in GEOM_Object  theShape,
out double  X,
out double  Y,
out double  Z 
)

Get point coordinates.

double CurveCurvatureByParam ( in GEOM_Object  theShape,
in double  theParam 
)

Get radius of curvature of curve in the point determinated by param.

Parameters
theShape- curve.
theParam- parameter on curve
Returns
Value of curvature.
double CurveCurvatureByPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)

Get radius of curvature of curve in the given point.

Parameters
theShape- curve.
thePoint- point
Returns
Value of curvature.
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.

Parameters
theShape- surface.
theUParam- U-parameter on surface
theVParam- V-parameter on surface
Returns
Value of curvature.
double MaxSurfaceCurvatureByPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)

Get max radius of curvature of surface in the given point.

Parameters
theShape- surface.
thePoint- point
Returns
Value of curvature.
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.

Parameters
theShape- surface.
theUParam- U-parameter on surface
theVParam- V-parameter on surface
Returns
Value of curvature.
double MinSurfaceCurvatureByPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)

Get min radius of curvature of surface in the given point.

Parameters
theShape- surface.
thePoint- point
Returns
Value of curvature.
boolean IsDone ( )
inherited

To know, if the operation was successfully performed.

void SetErrorCode ( in string  theErrorID)
inherited

Set the operation error code.

Parameters
theErrorIDis a string describing the error occured
Note
This method is supposed to be used only by interfaces inheriting from IOperations.
string GetErrorCode ( )
inherited

Get the operation error code.

long GetStudyID ( )
inherited

Get ID of study, where the operation is defined.

void StartOperation ( )
inherited

Opens a new transaction.

void FinishOperation ( )
inherited

Closes the previously opened trasaction.

void AbortOperation ( )
inherited

Aborts the previously opened transaction.