Interface for Blocks construction Face from points or edges, Block from faces, Blocks multi-translation and multi-rotation. More...
import "GEOM_Gen.idl";
Data Structures | |
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< BCError > | BCErrors |
Sequence of all Blocks Compound defects. More... | |
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. Order of Edges is not important. It is not necessary that edges share the same vertex. More... | |
GEOM_Object | MakeQuad2Edges (in GEOM_Object theEdge1, in GEOM_Object theEdge2) |
Create a quadrangle face on two edges. More... | |
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. More... | |
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. Order of faces is not important. More... | |
GEOM_Object | MakeHexa2Faces (in GEOM_Object theFace1, in GEOM_Object theFace2) |
Create a hexahedral solid between two given faces. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
GEOM_Object | GetOppositeFace (in GEOM_Object theBlock, in GEOM_Object theFace) |
Find a face, opposite to the given one in the given block. More... | |
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. More... | |
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. More... | |
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. More... | |
boolean | IsCompoundOfBlocks (in GEOM_Object theCompound, in long theMinNbFaces, in long theMaxNbFaces, out long theNbBlocks) |
Check, if the compound contains only specified blocks. More... | |
boolean | CheckCompoundOfBlocks (in GEOM_Object theCompound, in double theToleranceC1, out BCErrors theErrors) |
Check, if the compound of blocks is given. More... | |
string | PrintBCErrors (in GEOM_Object theCompound, in BCErrors theErrors) |
Convert sequence of Blocks Compound errors, returned by CheckCompoundOfBlocks(), into string. More... | |
GEOM_Object | GetNonBlocks (in GEOM_Object theShape, in double theToleranceC1, out GEOM_Object theNonQuads) |
Retrieve all non blocks solids and faces from a shape. More... | |
GEOM_Object | RemoveExtraEdges (in GEOM_Object theShape, in long theOptimumNbFaces) |
Remove all seam and degenerated edges from theShape. More... | |
GEOM_Object | UnionFaces (in GEOM_Object theShape) |
Performs union faces of theShape. More... | |
GEOM_Object | CheckAndImprove (in GEOM_Object theCompound) |
Check, if the given shape is a blocks compound. More... | |
ListOfGO | ExplodeCompoundOfBlocks (in GEOM_Object theCompound, in long theMinNbFaces, in long theMaxNbFaces) |
Get all the blocks, contained in the given compound. More... | |
GEOM_Object | GetBlockNearPoint (in GEOM_Object theCompound, in GEOM_Object thePoint) |
Find block, containing the given point inside its volume or on boundary. More... | |
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. More... | |
ListOfGO | GetBlocksByParts (in GEOM_Object theCompound, in ListOfGO theParts) |
Return all blocks, containing all the elements, passed as the parts. More... | |
GEOM_Object | MakeMultiTransformation1D (in GEOM_Object theBlock, in long theDirFace1, in long theDirFace2, in long theNbTimes) |
Multi-transformate block and glue the result. More... | |
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. More... | |
ListOfGO | Propagate (in GEOM_Object theShape) |
Build all possible propagation groups. 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... | |
Interface for Blocks construction Face from points or edges, Block from faces, Blocks multi-translation and multi-rotation.
enum BCErrorType |
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. Order of Edges is not important. It is not necessary that edges share the same vertex.
theEdge1,theEdge2,theEdge3,theEdge4 | Edges for the face bound. |
GEOM_Object 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.
theEdge1,theEdge2 | Two opposite edges for the face. |
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.
The missing edges will be built by creating the shortest ones.
thePnt1,thePnt2,thePnt3,thePnt4 | Corner vertices for the face. |
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. Order of faces is not important.
It is not necessary that Faces share the same edge.
theFace1,theFace2,theFace3,theFace4,theFace5,theFace6 | Faces for the hexahedral solid. |
GEOM_Object 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.
theFace1,theFace2 | Two opposite faces for the hexahedral solid. |
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.
theShape | Block or a compound of blocks. |
theX,theY,theZ | Coordinates of the sought vertex. |
theEpsilon | Maximum allowed distance between the resulting vertex and point with the given 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.
theShape | Any shape. |
thePoint | Point, close to the desired vertex. |
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.
theShape | Block or a compound of blocks. |
thePoint1,thePoint2 | Points, close to the ends of the desired edge. |
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.
theShape | Block or a compound of blocks. |
thePoint | Point, close to the desired edge. |
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.
theShape | Block or a compound of blocks. |
thePoint1,thePoint2,thePoint3,thePoint4 | Points, close to the corners of the desired face. |
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.
theShape | Block or a compound of blocks. |
theEdge1,theEdge2 | Edges, close to the edges of the desired face. |
GEOM_Object GetOppositeFace | ( | in GEOM_Object | theBlock, |
in GEOM_Object | theFace | ||
) |
Find a face, opposite to the given one in the given block.
theBlock | Must be a hexahedral solid. |
theFace | Face of theBlock, opposite to the desired face. |
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.
theShape | Block or a compound of blocks. |
thePoint | Point, close to the desired face. |
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.
theBlock | Block or a compound of blocks. |
theVector | Vector, close to the normale of the desired face. |
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.
theShape | Any shape. |
thePoint | Point, close to the desired shape. |
theShapeType | Defines what kind of sub-shapes is searched. |
theTolerance | The tolerance for distances comparison. All shapes with distances to the given point in interval [minimal_distance, minimal_distance + theTolerance] will be gathered. |
boolean IsCompoundOfBlocks | ( | in GEOM_Object | theCompound, |
in long | theMinNbFaces, | ||
in long | theMaxNbFaces, | ||
out long | theNbBlocks | ||
) |
Check, if the compound contains only specified blocks.
theCompound | The compound to check. |
theMinNbFaces | If solid has lower number of faces, it is not a block. |
theMaxNbFaces | If solid has higher number of faces, it is not a block. |
theNbBlocks | Number of specified blocks in theCompound. |
boolean CheckCompoundOfBlocks | ( | in GEOM_Object | theCompound, |
in double | theToleranceC1, | ||
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:
theCompound | The compound to check. |
theToleranceC1 | the tolerance to check if two neighbor edges are collinear in the common vertex with this tolerance. Negative value means that C1 criterion is not used (old implementation). |
theErrors | Structure, containing discovered errors and incriminated sub-shapes. |
string PrintBCErrors | ( | in GEOM_Object | theCompound, |
in BCErrors | theErrors | ||
) |
Convert sequence of Blocks Compound errors, returned by CheckCompoundOfBlocks(), into string.
theCompound | The bad compound. |
theErrors | The sequence of theCompound errors. |
GEOM_Object GetNonBlocks | ( | in GEOM_Object | theShape, |
in double | theToleranceC1, | ||
out GEOM_Object | theNonQuads | ||
) |
Retrieve all non blocks solids and faces from a shape.
theShape | The shape to explore. |
theToleranceC1 | the tolerance to check if two neighbor edges are collinear in the common vertex with this tolerance. Negative value means that C1 criterion is not used (old implementation). |
theNonQuads | Output parameter. Group of all non quadrangular faces. |
GEOM_Object RemoveExtraEdges | ( | in GEOM_Object | theShape, |
in long | theOptimumNbFaces | ||
) |
Remove all seam and degenerated edges from theShape.
Unite faces and edges, sharing one surface.
theShape | The compound or single solid to remove irregular edges from. |
theOptimumNbFaces | If 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. |
GEOM_Object UnionFaces | ( | in GEOM_Object | theShape | ) |
Performs union faces of theShape.
Unite faces sharing one surface.
theShape | The compound or single solid that contains faces to perform union. |
GEOM_Object CheckAndImprove | ( | in GEOM_Object | theCompound | ) |
Check, if the given shape is a blocks compound.
Fix all detected errors.
theCompound | The compound to check and improve. |
ListOfGO ExplodeCompoundOfBlocks | ( | in GEOM_Object | theCompound, |
in long | theMinNbFaces, | ||
in long | theMaxNbFaces | ||
) |
Get all the blocks, contained in the given compound.
theCompound | The compound to explode. |
theMinNbFaces | If solid has lower number of faces, it is not a block. |
theMaxNbFaces | If solid has higher number of faces, it is not a block. |
GEOM_Object GetBlockNearPoint | ( | in GEOM_Object | theCompound, |
in GEOM_Object | thePoint | ||
) |
Find block, containing the given point inside its volume or on boundary.
theCompound | Compound, to find block in. |
thePoint | Point, close to the desired block. If the point lays on boundary between some blocks, we return block with nearest center. |
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.
theCompound | Compound, to find block in. |
theParts | List of faces and/or edges and/or vertices to be parts of the found block. |
ListOfGO GetBlocksByParts | ( | in GEOM_Object | theCompound, |
in ListOfGO | theParts | ||
) |
Return all blocks, containing all the elements, passed as the parts.
theCompound | Compound, to find blocks in. |
theParts | List of faces and/or edges and/or vertices to be parts of the found blocks. |
GEOM_Object 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.
theBlock | Hexahedral solid to be multi-transformed. |
theDirFace1 | First direction face global index. |
theDirFace2 | Second direction face global index. |
theNbTimes | Quantity of transformations to be done. |
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.
theBlock | Hexahedral solid to be multi-transformed. |
theDirFace1U,theDirFace2U | Direction faces for the first transformation. |
theDirFace1V,theDirFace2V | Direction faces for the second transformation. |
theNbTimesU,theNbTimesV | Quantity of transformations to be done. |
ListOfGO Propagate | ( | in GEOM_Object | theShape | ) |
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.
theShape | Shape to build propagation groups on. |
|
inherited |
To know, if the operation was successfully performed.
|
inherited |
Set the operation error code.
theErrorID | is a string describing the error occured |
|
inherited |
Get the operation error code.
|
inherited |
Get ID of study, where the operation is defined.
|
inherited |
Opens a new transaction.
|
inherited |
Closes the previously opened trasaction.
|
inherited |
Aborts the previously opened transaction.