Version: 6.3.1
Data Structures | Public Types | Public Member Functions

GEOM.GEOM_IBlocksOperations Interface Reference

import "GEOM_Gen.idl";

Inheritance diagram for GEOM.GEOM_IBlocksOperations:
Inheritance graph

Data Structures

struct  BCError

Public Types

enum  BCErrorType {
  NOT_BLOCK, EXTRA_EDGE, INVALID_CONNECTION, NOT_CONNECTED,
  NOT_GLUED
}
typedef sequence< BCErrorBCErrors

Public Member Functions

GEOM_Object MakeQuad (in GEOM_Object theEdge1, in GEOM_Object theEdge2, in GEOM_Object theEdge3, in GEOM_Object theEdge4)
GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1, in GEOM_Object theEdge2)
GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1, in GEOM_Object thePnt2, in GEOM_Object thePnt3, in GEOM_Object thePnt4)
GEOM_Object MakeHexa (in GEOM_Object theFace1, in GEOM_Object theFace2, in GEOM_Object theFace3, in GEOM_Object theFace4, in GEOM_Object theFace5, in GEOM_Object theFace6)
GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1, in GEOM_Object theFace2)
GEOM_Object GetPoint (in GEOM_Object theShape, in double theX, in double theY, in double theZ, in double theEpsilon)
GEOM_Object GetVertexNearPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
GEOM_Object GetEdge (in GEOM_Object theShape, in GEOM_Object thePoint1, in GEOM_Object thePoint2)
GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
GEOM_Object GetFaceByPoints (in GEOM_Object theShape, in GEOM_Object thePoint1, in GEOM_Object thePoint2, in GEOM_Object thePoint3, in GEOM_Object thePoint4)
GEOM_Object GetFaceByEdges (in GEOM_Object theShape, in GEOM_Object theEdge1, in GEOM_Object theEdge2)
GEOM_Object GetOppositeFace (in GEOM_Object theBlock, in GEOM_Object theFace)
GEOM_Object GetFaceNearPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
GEOM_Object GetFaceByNormale (in GEOM_Object theBlock, in GEOM_Object theVector)
GEOM_Object GetShapesNearPoint (in GEOM_Object theShape, in GEOM_Object thePoint, in long theShapeType, in double theTolerance)
boolean IsCompoundOfBlocks (in GEOM_Object theCompound, in long theMinNbFaces, in long theMaxNbFaces, out long theNbBlocks)
boolean CheckCompoundOfBlocks (in GEOM_Object theCompound, out BCErrors theErrors)
string PrintBCErrors (in GEOM_Object theCompound, in BCErrors theErrors)
GEOM_Object RemoveExtraEdges (in GEOM_Object theShape, in long theOptimumNbFaces)
GEOM_Object CheckAndImprove (in GEOM_Object theCompound)
ListOfGO ExplodeCompoundOfBlocks (in GEOM_Object theCompound, in long theMinNbFaces, in long theMaxNbFaces)
GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound, in GEOM_Object thePoint)
GEOM_Object GetBlockByParts (in GEOM_Object theCompound, in ListOfGO theParts)
ListOfGO GetBlocksByParts (in GEOM_Object theCompound, in ListOfGO theParts)
GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock, in long theDirFace1, in long theDirFace2, in long theNbTimes)
GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock, in long theDirFace1U, in long theDirFace2U, in long theNbTimesU, in long theDirFace1V, in long theDirFace2V, in long theNbTimesV)
ListOfGO Propagate (in GEOM_Object theShape)
boolean IsDone ()
void SetErrorCode (in string theErrorID)
string GetErrorCode ()
long GetStudyID ()
void StartOperation ()
void FinishOperation ()
void AbortOperation ()

Detailed Description

GEOM_IBlocksOperations: Interface for Blocks construction Face from points or edges, Block from faces, Blocks multi-translation and multi-rotation


Member Typedef Documentation

Sequence of all Blocks Compound defects.


Member Enumeration Documentation

Enumeration of Blocks Compound defects.

Enumerator:
NOT_BLOCK 
EXTRA_EDGE 
INVALID_CONNECTION 
NOT_CONNECTED 
NOT_GLUED 

Member Function Documentation

GEOM_Object GEOM.GEOM_IBlocksOperations.MakeQuad ( in GEOM_Object  theEdge1,
in GEOM_Object  theEdge2,
in GEOM_Object  theEdge3,
in GEOM_Object  theEdge4 
)

Creation of blocks

Create a quadrangle face from four edges. Order of Edges is not important. It is not necessary that edges share the same vertex.

Parameters:
theEdge1,theEdge2,theEdge3,theEdge4Edges for the face bound.
Returns:
New GEOM_Object, containing the created face.
GEOM_Object GEOM.GEOM_IBlocksOperations.MakeQuad2Edges ( in GEOM_Object  theEdge1,
in GEOM_Object  theEdge2 
)

Create a quadrangle face on two edges. The missing edges will be built by creating the shortest ones.

Parameters:
theEdge1,theEdge2Two opposite edges for the face.
Returns:
New GEOM_Object, containing the created face.
GEOM_Object GEOM.GEOM_IBlocksOperations.MakeQuad4Vertices ( in GEOM_Object  thePnt1,
in GEOM_Object  thePnt2,
in GEOM_Object  thePnt3,
in GEOM_Object  thePnt4 
)

Create a quadrangle face with specified corners. The missing edges will be built by creating the shortest ones.

Parameters:
thePnt1,thePnt2,thePnt3,thePnt4Corner vertices for the face.
Returns:
New GEOM_Object, containing the created face.
GEOM_Object GEOM.GEOM_IBlocksOperations.MakeHexa ( in GEOM_Object  theFace1,
in GEOM_Object  theFace2,
in GEOM_Object  theFace3,
in GEOM_Object  theFace4,
in GEOM_Object  theFace5,
in GEOM_Object  theFace6 
)

Create a hexahedral solid, bounded by the six given faces. Order of faces is not important. It is not necessary that Faces share the same edge.

Parameters:
theFace1-theFace6Faces for the hexahedral solid.
Returns:
New GEOM_Object, containing the created solid.
GEOM_Object GEOM.GEOM_IBlocksOperations.MakeHexa2Faces ( in GEOM_Object  theFace1,
in GEOM_Object  theFace2 
)

Create a hexahedral solid between two given faces. The missing faces will be built by creating the smallest ones.

Parameters:
theFace1,theFace2Two opposite faces for the hexahedral solid.
Returns:
New GEOM_Object, containing the created solid.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetPoint ( in GEOM_Object  theShape,
in double  theX,
in double  theY,
in double  theZ,
in double  theEpsilon 
)

Extract elements of blocks and blocks compounds

Get a vertex, found in the given shape by its coordinates.

Parameters:
theShapeBlock or a compound of blocks.
theX,theY,theZCoordinates of the sought vertex.
theEpsilonMaximum allowed distance between the resulting vertex and point with the given coordinates.
Returns:
New GEOM_Object, containing the found vertex.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetVertexNearPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)

Find a vertex of the given shape, which has minimal distance to the given point.

Parameters:
theShapeAny shape.
thePointPoint, close to the desired vertex.
Returns:
New GEOM_Object, containing the found vertex.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetEdge ( in GEOM_Object  theShape,
in GEOM_Object  thePoint1,
in GEOM_Object  thePoint2 
)

Get an edge, found in the given shape by two given vertices.

Parameters:
theShapeBlock or a compound of blocks.
thePoint1,thePoint2Points, close to the ends of the desired edge.
Returns:
New GEOM_Object, containing the found edge.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetEdgeNearPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)

Find an edge of the given shape, which has minimal distance to the given point.

Parameters:
theShapeBlock or a compound of blocks.
thePointPoint, close to the desired edge.
Returns:
New GEOM_Object, containing the found edge.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetFaceByPoints ( in GEOM_Object  theShape,
in GEOM_Object  thePoint1,
in GEOM_Object  thePoint2,
in GEOM_Object  thePoint3,
in GEOM_Object  thePoint4 
)

Returns a face, found in the given shape by four given corner vertices.

Parameters:
theShapeBlock or a compound of blocks.
thePoint1-thePoint4Points, close to the corners of the desired face.
Returns:
New GEOM_Object, containing the found face.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetFaceByEdges ( in GEOM_Object  theShape,
in GEOM_Object  theEdge1,
in GEOM_Object  theEdge2 
)

Get a face of block, found in the given shape by two given edges.

Parameters:
theShapeBlock or a compound of blocks.
theEdge1,theEdge2Edges, close to the edges of the desired face.
Returns:
New GEOM_Object, containing the found face.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetOppositeFace ( in GEOM_Object  theBlock,
in GEOM_Object  theFace 
)

Find a face, opposite to the given one in the given block.

Parameters:
theBlockMust be a hexahedral solid.
theFaceFace of theBlock, opposite to the desired face.
Returns:
New GEOM_Object, containing the found face.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetFaceNearPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint 
)

Find a face of the given shape, which has minimal distance to the given point.

Parameters:
theShapeBlock or a compound of blocks.
thePointPoint, close to the desired face.
Returns:
New GEOM_Object, containing the found face.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetFaceByNormale ( in GEOM_Object  theBlock,
in GEOM_Object  theVector 
)

Find a face of block, whose outside normale has minimal angle with the given vector.

Parameters:
theShapeBlock or a compound of blocks.
theVectorVector, close to the normale of the desired face.
Returns:
New GEOM_Object, containing the found face.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetShapesNearPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint,
in long  theShapeType,
in double  theTolerance 
)

Find all subshapes of type theShapeType of the given shape, which have minimal distance to the given point.

Parameters:
theShapeAny shape.
thePointPoint, close to the desired shape.
theShapeTypeDefines what kind of subshapes is searched.
theToleranceThe tolerance for distances comparison. All shapes with distances to the given point in interval [minimal_distance, minimal_distance + theTolerance] will be gathered.
Returns:
New GEOM_Object, containing a group of all found shapes.
boolean GEOM.GEOM_IBlocksOperations.IsCompoundOfBlocks ( in GEOM_Object  theCompound,
in long  theMinNbFaces,
in long  theMaxNbFaces,
out long  theNbBlocks 
)

Extract blocks from blocks compounds

Check, if the compound contains only specified blocks.

Parameters:
theCompoundThe compound to check.
theMinNbFacesIf solid has lower number of faces, it is not a block.
theMaxNbFacesIf solid has higher number of faces, it is not a block.
Note:
If theMaxNbFaces = 0, the maximum number of faces is not restricted.
Returns:
TRUE, if the given compound contains only blocks.
theNbBlocks Number of specified blocks in theCompound.
boolean GEOM.GEOM_IBlocksOperations.CheckCompoundOfBlocks ( in GEOM_Object  theCompound,
out BCErrors  theErrors 
)

Check, if the compound of blocks is given. To be considered as a compound of blocks, the given shape must satisfy the following conditions:

  • Each element of the compound should be a Block (6 faces and 12 edges).
  • A connection between two Blocks should be an entire quadrangle face or an entire edge.
  • The compound should be connexe.
  • The glue between two quadrangle faces should be applied.
    Note:
    Single block is also accepted as a valid compound of blocks.
    Parameters:
    theCompoundThe compound to check.
    Returns:
    TRUE, if the given shape is a compound of blocks.
    theErrors Structure, containing discovered errors and incriminated sub-shapes.
string GEOM.GEOM_IBlocksOperations.PrintBCErrors ( in GEOM_Object  theCompound,
in BCErrors  theErrors 
)

Convert sequence of Blocks Compound errors, returned by CheckCompoundOfBlocks(), into string.

Parameters:
theCompoundThe bad compound.
theErrorsThe sequence of theCompound errors.
Returns:
String, describing all the errors in form, suitable for printing.
GEOM_Object GEOM.GEOM_IBlocksOperations.RemoveExtraEdges ( in GEOM_Object  theShape,
in long  theOptimumNbFaces 
)

Remove all seam and degenerated edges from theShape. Unite faces and edges, sharing one surface.

Parameters:
theShapeThe compound or single solid to remove irregular edges from.
theOptimumNbFacesIf more than zero, unite faces only for those solids, that have more than theOptimumNbFaces faces. If zero, unite faces always, regardsless their quantity in the solid. If negative, do not unite faces at all. For blocks repairing recommended value is 6.
Returns:
Improved shape.
GEOM_Object GEOM.GEOM_IBlocksOperations.CheckAndImprove ( in GEOM_Object  theCompound)

Check, if the given shape is a blocks compound. Fix all detected errors.

Note:
Single block can be also fixed by this method.
Parameters:
theCompoundThe compound to check and improve.
Returns:
Improved compound.
ListOfGO GEOM.GEOM_IBlocksOperations.ExplodeCompoundOfBlocks ( in GEOM_Object  theCompound,
in long  theMinNbFaces,
in long  theMaxNbFaces 
)

Get all the blocks, contained in the given compound.

Parameters:
theCompoundThe compound to explode.
theMinNbFacesIf solid has lower number of faces, it is not a block.
theMaxNbFacesIf solid has higher number of faces, it is not a block.
Note:
If theMaxNbFaces = 0, the maximum number of faces is not restricted.
Returns:
List of GEOM_Objects, containing the retrieved blocks.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetBlockNearPoint ( in GEOM_Object  theCompound,
in GEOM_Object  thePoint 
)

Find block, containing the given point inside its volume or on boundary.

Parameters:
theCompoundCompound, to find block in.
thePointPoint, close to the desired block. If the point lays on boundary between some blocks, we return block with nearest center.
Returns:
New GEOM_Object, containing the found block.
GEOM_Object GEOM.GEOM_IBlocksOperations.GetBlockByParts ( in GEOM_Object  theCompound,
in ListOfGO  theParts 
)

Find block, containing all the elements, passed as the parts, or maximum quantity of them.

Parameters:
theCompoundCompound, to find block in.
thePartsList of faces and/or edges and/or vertices to be parts of the found block.
Returns:
New GEOM_Object, containing the found block.
ListOfGO GEOM.GEOM_IBlocksOperations.GetBlocksByParts ( in GEOM_Object  theCompound,
in ListOfGO  theParts 
)

Return all blocks, containing all the elements, passed as the parts.

Parameters:
theCompoundCompound, to find blocks in.
thePartsList of faces and/or edges and/or vertices to be parts of the found blocks.
Returns:
List of GEOM_Objects, containing the found blocks.
GEOM_Object GEOM.GEOM_IBlocksOperations.MakeMultiTransformation1D ( in GEOM_Object  theBlock,
in long  theDirFace1,
in long  theDirFace2,
in long  theNbTimes 
)

Operations on blocks with gluing of result

Multi-transformate block and glue the result. Transformation is defined so, as to superpose theDirFace1 with theDirFace2.

Parameters:
theBlockHexahedral solid to be multi-transformed.
theDirFace1First direction face global index.
theDirFace2Second direction face global index.
theNbTimesQuantity of transformations to be done.
Note:
Global index of sub-shape can be obtained, using method GEOM_IShapesOperations.GetSubShapeIndex().
Returns:
New GEOM_Object, containing the result shape.
GEOM_Object GEOM.GEOM_IBlocksOperations.MakeMultiTransformation2D ( in GEOM_Object  theBlock,
in long  theDirFace1U,
in long  theDirFace2U,
in long  theNbTimesU,
in long  theDirFace1V,
in long  theDirFace2V,
in long  theNbTimesV 
)

Multi-transformate block and glue the result.

Parameters:
theBlockHexahedral solid to be multi-transformed.
theDirFace1U,theDirFace2UDirection faces for the first transformation.
theDirFace1V,theDirFace2VDirection faces for the second transformation.
theNbTimesU,theNbTimesVQuantity of transformations to be done.
Returns:
New GEOM_Object, containing the result shape.
ListOfGO GEOM.GEOM_IBlocksOperations.Propagate ( in GEOM_Object  theShape)

Special operation - propagation

Build all possible propagation groups. Propagation group is a set of all edges, opposite to one (main) edge of this group directly or through other opposite edges. Notion of Opposite Edge make sence only on quadrangle face.

Parameters:
theShapeShape to build propagation groups on.
Returns:
List of GEOM_Objects, each of them is a propagation group.
boolean GEOM.GEOM_IOperations.IsDone ( ) [inherited]

To know, if the operation was successfully performed

void GEOM.GEOM_IOperations.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 GEOM.GEOM_IOperations.GetErrorCode ( ) [inherited]

Get the operation error code

long GEOM.GEOM_IOperations.GetStudyID ( ) [inherited]

Get ID of study, where the operation is defined

void GEOM.GEOM_IOperations.StartOperation ( ) [inherited]

Opens a new transaction

void GEOM.GEOM_IOperations.FinishOperation ( ) [inherited]

Closes the previously opened trasaction

void GEOM.GEOM_IOperations.AbortOperation ( ) [inherited]

Aborts the previously opened transaction

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS