Version: 9.12.0
GEOM::GEOM_IBooleanOperations Interface Reference

Interface for boolean operations (Cut, Fuse, Common)

import"GEOM_Gen.idl";

Inheritance diagram for GEOM::GEOM_IBooleanOperations:
Inheritance graph

Public Member Functions

GEOM_Object MakeBoolean (in GEOM_Object theShape1, in GEOM_Object theShape2, in long theOperation, in boolean IsCheckSelfInte)
 Perform one of boolean operations on two given shapes. More...
 
GEOM_Object MakeFuse (in GEOM_Object theShape1, in GEOM_Object theShape2, in boolean IsCheckSelfInte, in boolean IsRmExtraEdges)
 Perform fusion boolean operation on two given shapes. More...
 
GEOM_Object MakeFuseList (in ListOfGO theShapes, in boolean IsCheckSelfInte, in boolean IsRmExtraEdges)
 Perform fusion boolean operation on list of objects. More...
 
GEOM_Object MakeCommonList (in ListOfGO theShapes, in boolean IsCheckSelfInte)
 Perform common boolean operation on list of objects. More...
 
GEOM_Object MakeCutList (in GEOM_Object theMainShape, in ListOfGO theShapes, in boolean IsCheckSelfInte)
 Perform cutting of list of objects from theMainShape. More...
 
GEOM_Object MakePartition (in ListOfGO theShapes, in ListOfGO theTools, in ListOfGO theKeepInside, in ListOfGO theRemoveInside, in short theLimit, in boolean theRemoveWebs, in ListOfLong theMaterials, in short theKeepNonlimitShapes)
 Perform partition operation. More...
 
GEOM_Object MakePartitionNonSelfIntersectedShape (in ListOfGO theShapes, in ListOfGO theTools, in ListOfGO theKeepInside, in ListOfGO theRemoveInside, in short theLimit, in boolean theRemoveWebs, in ListOfLong theMaterials, in short theKeepNonlimitShapes, in boolean IsCheckSelfInte)
 Perform partition operation. More...
 
GEOM_Object MakeHalfPartition (in GEOM_Object theShape, in GEOM_Object thePlane)
 Perform partition of the Shape with the Plane. 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...
 
void StartOperation ()
 Opens a new transaction. More...
 
void FinishOperation ()
 Closes the previously opened transaction. More...
 
void AbortOperation ()
 Aborts the previously opened transaction. More...
 

Member Function Documentation

◆ MakeBoolean()

GEOM_Object GEOM::GEOM_IBooleanOperations::MakeBoolean ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2,
in long  theOperation,
in boolean  IsCheckSelfInte 
)
Parameters
theShape1First argument for boolean operation.
theShape2Second argument for boolean operation.
theOperationIndicates the operation to be done: 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section.
IsCheckSelfInteIf TRUE, perform check self intersection of arguments before an operation.
Returns
New GEOM_Object, containing the result shape.

◆ MakeCommonList()

GEOM_Object GEOM::GEOM_IBooleanOperations::MakeCommonList ( in ListOfGO  theShapes,
in boolean  IsCheckSelfInte 
)
Parameters
theShapesShapes for common operation.
IsCheckSelfInteIf TRUE, perform check self intersection of arguments before an operation.
Returns
New GEOM_Object, containing the result shape.

◆ MakeCutList()

GEOM_Object GEOM::GEOM_IBooleanOperations::MakeCutList ( in GEOM_Object  theMainShape,
in ListOfGO  theShapes,
in boolean  IsCheckSelfInte 
)
Parameters
theMainShapethe object for cut operation.
theShapesShapes to be cut from theMainShape (tools).
IsCheckSelfInteIf TRUE, perform check self intersection of arguments before an operation.
Returns
New GEOM_Object, containing the result shape.

◆ MakeFuse()

GEOM_Object GEOM::GEOM_IBooleanOperations::MakeFuse ( in GEOM_Object  theShape1,
in GEOM_Object  theShape2,
in boolean  IsCheckSelfInte,
in boolean  IsRmExtraEdges 
)
Parameters
theShape1First argument for fuse operation.
theShape2Second argument for fuse operation.
IsCheckSelfInteIf TRUE, perform check self intersection of arguments before an operation.
IsRmExtraEdgesIf TRUE, perform removal of extra edges during an operation.
Returns
New GEOM_Object, containing the result shape.

◆ MakeFuseList()

GEOM_Object GEOM::GEOM_IBooleanOperations::MakeFuseList ( in ListOfGO  theShapes,
in boolean  IsCheckSelfInte,
in boolean  IsRmExtraEdges 
)
Parameters
theShapesShapes to be fused.
IsCheckSelfInteIf TRUE, perform check self intersection of arguments before an operation.
IsRmExtraEdgesIf TRUE, perform removal of extra edges during an operation.
Returns
New GEOM_Object, containing the result shape.

◆ MakeHalfPartition()

GEOM_Object GEOM::GEOM_IBooleanOperations::MakeHalfPartition ( in GEOM_Object  theShape,
in GEOM_Object  thePlane 
)
Parameters
theShapeShape to be intersected.
thePlaneTool shape, to intersect theShape.
Returns
New GEOM_Object, containing the result shape.
Note
This operation is a shortcut to the more general MakePartition operation, where theShape specifies single "object" (shape being partitioned) and thePlane specifies single "tool" (intersector shape). Other parameters of MakePartition operation have default values:
  • theLimit: GEOM::SHAPE (shape limit corresponds to the type of theShape)
  • theKeepNonlimitShapes: 0
  • theKeepInside, theRemoveInside, theRemoveWebs, theMaterials (obsolete parameters): empty
See also
MakePartition, MakePartitionNonSelfIntersectedShape

◆ MakePartition()

GEOM_Object GEOM::GEOM_IBooleanOperations::MakePartition ( in ListOfGO  theShapes,
in ListOfGO  theTools,
in ListOfGO  theKeepInside,
in ListOfGO  theRemoveInside,
in short  theLimit,
in boolean  theRemoveWebs,
in ListOfLong  theMaterials,
in short  theKeepNonlimitShapes 
)
Parameters
theShapesShapes to be intersected.
theToolsShapes to intersect theShapes.
Note
Each compound from ListShapes and ListTools will be exploded in order to avoid possible intersection between shapes from this compound.
Parameters
theLimitType of resulting shapes (corresponding to TopAbs_ShapeEnum).
theKeepNonlimitShapesif this parameter == 0, then only shapes of target type (equal to Limit) are kept in the result, else standalone shapes of lower dimension are kept also (if they exist).

After implementation new version of PartitionAlgo (October 2006) other parameters are ignored by current functionality. They are kept in this function only for supporting old versions. Ignored parameters:

Parameters
theKeepInsideShapes, outside which the results will be deleted. Each shape from theKeepInside must belong to theShapes also.
theRemoveInsideShapes, inside which the results will be deleted. Each shape from theRemoveInside must belong to theShapes also.
theRemoveWebsIf TRUE, perform Glue 3D algorithm.
theMaterialsMaterial indices for each shape. Make sense, only if theRemoveWebs is TRUE.
Returns
New GEOM_Object, containing the result shapes.

◆ MakePartitionNonSelfIntersectedShape()

GEOM_Object GEOM::GEOM_IBooleanOperations::MakePartitionNonSelfIntersectedShape ( in ListOfGO  theShapes,
in ListOfGO  theTools,
in ListOfGO  theKeepInside,
in ListOfGO  theRemoveInside,
in short  theLimit,
in boolean  theRemoveWebs,
in ListOfLong  theMaterials,
in short  theKeepNonlimitShapes,
in boolean  IsCheckSelfInte 
)

This method may be useful if it is needed to make a partition for a compound containing nonintersected shapes. Performance will be better since intersection between shapes from compound is not performed.

Description of all parameters as in previous method MakePartition(). One additional parameter is provided:

Parameters
IsCheckSelfInteIf TRUE, perform check self intersection of arguments before an operation.
Note
Passed compounds (via ListShapes or via ListTools) have to consist of nonintersecting shapes.
Returns
New GEOM_Object, containing the result shapes.

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