Back to index

salome-geom  6.5.0
Classes | Public Types | Public Member Functions
GEOM::GEOM_IBlocksOperations Interface Reference

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

import "GEOM_Gen.idl";

Inheritance diagram for GEOM::GEOM_IBlocksOperations:
Inheritance graph
[legend]
Collaboration diagram for GEOM::GEOM_IBlocksOperations:
Collaboration graph
[legend]

List of all members.

Classes

struct  BCError
 Description of Blocks Compound defect: type and incriminated sub-shapes. More...

Public Types

enum  BCErrorType {
  NOT_BLOCK, EXTRA_EDGE, INVALID_CONNECTION, NOT_CONNECTED,
  NOT_GLUED
}
 Enumeration of Blocks Compound defects. More...
typedef sequence< BCErrorBCErrors
 Sequence of all Blocks Compound defects.

Public Member Functions

GEOM_Object MakeQuad (in GEOM_Object theEdge1, in GEOM_Object theEdge2, in GEOM_Object theEdge3, in GEOM_Object theEdge4)
 Create a quadrangle face from four edges.
GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1, in GEOM_Object theEdge2)
 Create a quadrangle face on two edges.
GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1, in GEOM_Object thePnt2, in GEOM_Object thePnt3, in GEOM_Object thePnt4)
 Create a quadrangle face with specified corners.
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)
 Create a hexahedral solid, bounded by the six given faces.
GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1, in GEOM_Object theFace2)
 Create a hexahedral solid between two given faces.
GEOM_Object GetPoint (in GEOM_Object theShape, in double theX, in double theY, in double theZ, in double theEpsilon)
 Get a vertex, found in the given shape by its coordinates.
GEOM_Object GetVertexNearPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
 Find a vertex of the given shape, which has minimal distance to the given point.
GEOM_Object 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.
GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
 Find an edge of the given shape, which has minimal distance to the given point.
GEOM_Object 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.
GEOM_Object 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.
GEOM_Object GetOppositeFace (in GEOM_Object theBlock, in GEOM_Object theFace)
 Find a face, opposite to the given one in the given block.
GEOM_Object GetFaceNearPoint (in GEOM_Object theShape, in GEOM_Object thePoint)
 Find a face of the given shape, which has minimal distance to the given point.
GEOM_Object GetFaceByNormale (in GEOM_Object theBlock, in GEOM_Object theVector)
 Find a face of block, whose outside normale has minimal angle with the given vector.
GEOM_Object GetShapesNearPoint (in GEOM_Object theShape, in GEOM_Object thePoint, in long theShapeType, in double theTolerance)
 Find all sub-shapes of type theShapeType of the given shape, which have minimal distance to the given point.
boolean IsCompoundOfBlocks (in GEOM_Object theCompound, in long theMinNbFaces, in long theMaxNbFaces, out long theNbBlocks)
 Check, if the compound contains only specified blocks.
boolean CheckCompoundOfBlocks (in GEOM_Object theCompound, out BCErrors theErrors)
 Check, if the compound of blocks is given.
string PrintBCErrors (in GEOM_Object theCompound, in BCErrors theErrors)
 Convert sequence of Blocks Compound errors, returned by CheckCompoundOfBlocks(), into string.
GEOM_Object RemoveExtraEdges (in GEOM_Object theShape, in long theOptimumNbFaces)
 Remove all seam and degenerated edges from theShape.
GEOM_Object CheckAndImprove (in GEOM_Object theCompound)
 Check, if the given shape is a blocks compound.
ListOfGO ExplodeCompoundOfBlocks (in GEOM_Object theCompound, in long theMinNbFaces, in long theMaxNbFaces)
 Get all the blocks, contained in the given compound.
GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound, in GEOM_Object thePoint)
 Find block, containing the given point inside its volume or on boundary.
GEOM_Object GetBlockByParts (in GEOM_Object theCompound, in ListOfGO theParts)
 Find block, containing all the elements, passed as the parts, or maximum quantity of them.
ListOfGO GetBlocksByParts (in GEOM_Object theCompound, in ListOfGO theParts)
 Return all blocks, containing all the elements, passed as the parts.
GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock, in long theDirFace1, in long theDirFace2, in long theNbTimes)
 Multi-transformate block and glue the result.
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)
 Multi-transformate block and glue the result.
ListOfGO Propagate (in GEOM_Object theShape)
 Build all possible propagation groups.
boolean IsDone ()
 To know, if the operation was successfully performed.
void SetErrorCode (in string theErrorID)
 Set the operation error code.
string GetErrorCode ()
 Get the operation error code.
long GetStudyID ()
 Get ID of study, where the operation is defined.
void StartOperation ()
 Opens a new transaction.
void FinishOperation ()
 Closes the previously opened trasaction.
void AbortOperation ()
 Aborts the previously opened transaction.

Detailed Description

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

Definition at line 2140 of file GEOM_Gen.idl.


Class Documentation

struct GEOM::GEOM_IBlocksOperations::BCError

Description of Blocks Compound defect: type and incriminated sub-shapes.

Definition at line 2355 of file GEOM_Gen.idl.

Class Members
BCErrorType error
ListOfLong incriminated

Member Typedef Documentation

Sequence of all Blocks Compound defects.

Definition at line 2364 of file GEOM_Gen.idl.


Member Enumeration Documentation

Enumeration of Blocks Compound defects.

Enumerator:
NOT_BLOCK 
EXTRA_EDGE 
INVALID_CONNECTION 
NOT_CONNECTED 
NOT_GLUED 

Definition at line 2334 of file GEOM_Gen.idl.

    {
      /* Each element of the compound should be a Block */
      NOT_BLOCK,

      /* An element is a potential block, but has degenerated and/or seam edge(s). */
      EXTRA_EDGE,

      /* A connection between two Blocks should be an entire face or an entire edge */
      INVALID_CONNECTION,

      /* The compound should be connexe */
      NOT_CONNECTED,

      /* The glue between two quadrangle faces should be applied */
      NOT_GLUED
    };

Member Function Documentation

Aborts the previously opened transaction.

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.
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.
    theErrorsStructure, containing discovered errors and incriminated sub-shapes.
    Returns:
    TRUE, if the given shape is a compound of blocks.
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_Object, containing the retrieved blocks.

Closes the previously opened trasaction.

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.

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.

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_Object, containing the found blocks.
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.

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

Get the operation error code.

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.

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

Parameters:
theBlockBlock 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::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,thePoint2,thePoint3,thePoint4Points, close to the corners of the desired face.
Returns:
New GEOM_Object, containing the found face.

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.

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::GetPoint ( in GEOM_Object  theShape,
in double  theX,
in double  theY,
in double  theZ,
in double  theEpsilon 
)

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::GetShapesNearPoint ( in GEOM_Object  theShape,
in GEOM_Object  thePoint,
in long  theShapeType,
in double  theTolerance 
)

Find all sub-shapes 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 sub-shapes 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.
long GEOM::GEOM_IOperations::GetStudyID ( ) [inherited]

Get ID of study, where the operation is defined.

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.
boolean GEOM::GEOM_IBlocksOperations::IsCompoundOfBlocks ( in GEOM_Object  theCompound,
in long  theMinNbFaces,
in long  theMaxNbFaces,
out long  theNbBlocks 
)

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.
Parameters:
theNbBlocksNumber of specified blocks in theCompound.
Returns:
TRUE, if the given compound contains only blocks.
boolean GEOM::GEOM_IOperations::IsDone ( ) [inherited]

To know, if the operation was successfully performed.

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,theFace2,theFace3,theFace4,theFace5,theFace6Faces for the hexahedral solid.
Returns:
New GEOM_Object, containing the created solid.

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::MakeMultiTransformation1D ( in GEOM_Object  theBlock,
in long  theDirFace1,
in long  theDirFace2,
in long  theNbTimes 
)

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.
GEOM_Object GEOM::GEOM_IBlocksOperations::MakeQuad ( in GEOM_Object  theEdge1,
in GEOM_Object  theEdge2,
in GEOM_Object  theEdge3,
in GEOM_Object  theEdge4 
)

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.

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

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_Object, each of them is a propagation group.
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.
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.

Opens a new transaction.


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