Compare commits

...

36 Commits

Author SHA1 Message Date
DUC ANH HOANG
f897399166 Revert "Revert "[EDF31321]: Add bootsrap in dependence""
This reverts commit 3628387a8bbfa28c6f89e3eb4a679d68467f0b9b.
2025-01-06 14:05:27 +01:00
mbs
3dada3ac1c [GITHUB][GEOM ISSUE#7] wrong doc for make ellipse 2025-01-03 12:25:02 +00:00
DUC ANH HOANG
3628387a8b Revert "[EDF31321]: Add bootsrap in dependence"
This reverts commit 419b248e234499994594e0a2b109eecca3b0d1e1.
2024-12-20 10:34:19 +01:00
DUC ANH HOANG
d77455bec0 Merge branch 'duc/odys_suit_integration' 2024-12-19 14:41:07 +01:00
mbs
386c243bd1 fixed crash in constructAISObject
The Prs3d_PointAspect pointer may be NULL.
2024-12-18 11:55:56 +00:00
DUC ANH HOANG
419b248e23 [EDF31321]: Add bootsrap in dependence 2024-12-16 12:00:57 +01:00
mbs
0c82f25ea9 updated URL in README 2024-12-13 11:09:50 +00:00
Konstantin Leontev
42b1e5a1ea [bos #43815][EDF 31529] Dependency of libGEOMEngine. Removed Qt dependencies. 2024-12-09 14:21:20 +00:00
mbs
1e56cfc237 [bos #43130] [EDF] (2024) Geometry Analysis Tool 2024-12-02 18:39:57 +00:00
dish
4698ac46c4 Add action ID mutations. 2024-11-28 12:38:29 +00:00
Konstantin Leontev
512bf4c67a [bos #43299][FORUM] Now after SetAutoColor(1) we can get automatically generated color back by GetColor() call. Previous implementation didn't set a color to an object, but calculated it only for a viewer. 2024-11-08 10:39:12 +00:00
jfa
67feb126ff [bos #40618] [CEA] Offset/Thickness Feature. 2024-11-08 10:37:36 +01:00
dish
0d99124b62 [bos #42003][EDF] (2024) Shortcuts improvements 2024-11-07 09:09:39 +01:00
dish
086dfca578 dish/CR42003--Shortcuts_improvements
Make action_assets.json compliant with current version of SUIT_ShortcutMgr. Place actions in folders and add icon paths.
2024-11-07 09:09:39 +01:00
Konstantin Leontev
ad427fadef [bos #43278][EDF 25230] MakeVertexInsideFace too long. Added ShapeFix for result created by ShapeUpgrade_ShapeDivideArea. 2024-11-04 15:32:44 +00:00
Konstantin Leontev
c4da8107c8 [bos #43299][FORUM] geom.GetColor() does not give the good result. Fixed set color for geom object. 2024-10-30 15:58:58 +00:00
jfa
55b640ee17 [bos #32155] EDF 25230 - face non planar 2024-10-02 10:45:15 +01:00
jfa
78d008f3a2 [bos #42424] [CEA][FORUM] bug with MinDistance in Geom Module. Old workarounds causing the problem have been abandoned. 2024-09-13 13:02:41 +01:00
mbs
d72c6cd028 [GITHUB #1] updated TUI command doc for make sphere from point and radius 2024-09-09 10:16:27 +01:00
jfa
ae49976071 Merge branch 'V9_13_BR' 2024-09-04 16:54:05 +01:00
jfa
1bcfb1186e Increment version: 9.13.0 2024-06-27 19:37:19 +01:00
jfa
fbbd6a9e07 Fix compilation error (conflict of OK name between OCCT Plate_Plate.hxx and GEOM GEOM_IOperations.hxx) 2024-05-27 20:11:28 +01:00
jfa
5e34fe0812 Implement bos #35141 Makewire keeping types of edges 2024-05-27 13:07:29 +01:00
dish
ec3ebbe891 [bos #41409][FORUM] (2024) kindOfShape() bug for CONE2D
Make KindOfShape() work correctly in cases, when substrate surface is cone and contour-wire is arbitrary (tested with a wire, composed of lines and 2-order curves).
2024-05-24 13:04:45 +01:00
Ekaterina Sukhareva
5f12362860 [EDF] (2023-T3) Creation of a non planar face from a list of edges and points 2024-05-22 18:38:19 +01:00
mbs
0f3f338dc8 Merge branch 'OCCT780' 2024-05-16 08:32:44 +01:00
jfa
981c0534ea Porting to OCCT 7.8.0 2024-05-16 08:30:45 +01:00
dish
bbafce4b04 [bos #35160][EDF](2023-T1) Keyboard shortcuts.
The branch must be synchronized with GUI:/dish/CR35160--Keyboard_Shortcuts.
Most of GEOM module actions are available for shortcut binding using UI.
2024-05-15 17:35:18 +01:00
Nabil Ghodbane
20db2ca25d [bos #41189]: ensure compatibility with Python 3.9+ 2024-04-24 14:55:58 +02:00
Nabil Ghodbane
c13ae14b5a bos #41647 [CEA][Windows] bos #38044 breaks GEOM compilation 2024-04-08 09:27:15 +02:00
NATHALIE GORE
14e1a694c4 Merge C++ part of kleontev/38044_auto_repair 2024-04-04 11:49:08 +02:00
mbs
e3ce834889 [bos #40619][CEA] Add Fuzzy parameter to partition and boolean operators 2024-03-19 10:28:27 +00:00
NATHALIE GORE
3bfb88115e Revert "EDF 25230 - Impossible to create directly a face"
This reverts commit aecc16bb8400d9673445a0485fc625ed28f71b9c.
2024-02-12 15:13:33 +01:00
Ekaterina Sukhareva
aecc16bb84 EDF 25230 - Impossible to create directly a face 2024-02-06 11:01:51 +00:00
mbs
e067674b75 Updated copyright comment 2024-01-20 13:51:38 +00:00
jfa
c52059c3f8 [bos #39942] EDF 25230 - New problem with XYZtoUV 2024-01-17 14:34:37 +00:00
1287 changed files with 10952 additions and 4708 deletions

View File

@ -1,4 +1,4 @@
# Copyright (C) 2013-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2013-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public
@ -38,9 +38,20 @@ ENDIF()
# Versioning # Versioning
# =========== # ===========
SALOME_SETUP_VERSION(9.12.0) SALOME_SETUP_VERSION(9.13.0)
MESSAGE(STATUS "Building ${PROJECT_NAME_UC} ${${PROJECT_NAME_UC}_VERSION} from \"${${PROJECT_NAME_UC}_GIT_SHA1}\"") MESSAGE(STATUS "Building ${PROJECT_NAME_UC} ${${PROJECT_NAME_UC}_VERSION} from \"${${PROJECT_NAME_UC}_GIT_SHA1}\"")
# Find SalomeBootstrap
# ===========
SET(SALOMEBOOTSTRAP_ROOT_DIR $ENV{SALOMEBOOTSTRAP_ROOT_DIR} CACHE PATH "Path to the Salome Bootstrap")
IF(EXISTS ${SALOMEBOOTSTRAP_ROOT_DIR})
FIND_PACKAGE(SalomeBootstrap REQUIRED)
ADD_DEFINITIONS(${SALOMEBOOTSTRAP_DEFINITIONS})
INCLUDE_DIRECTORIES(${SALOMEBOOTSTRAP_INCLUDE_DIRS})
ELSE(EXISTS ${SALOMEBOOTSTRAP_ROOT_DIR})
MESSAGE(FATAL_ERROR "We absolutely need a Salome Bootstrap, please define SALOMEBOOTSTRAP_ROOT_DIR")
ENDIF(EXISTS ${SALOMEBOOTSTRAP_ROOT_DIR})
# Find KERNEL # Find KERNEL
# =========== # ===========
SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "Path to the Salome KERNEL") SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "Path to the Salome KERNEL")
@ -92,6 +103,7 @@ FIND_PACKAGE(SalomeOmniORB REQUIRED)
FIND_PACKAGE(SalomeOmniORBPy REQUIRED) FIND_PACKAGE(SalomeOmniORBPy REQUIRED)
FIND_PACKAGE(SalomeLibXml2 REQUIRED) FIND_PACKAGE(SalomeLibXml2 REQUIRED)
FIND_PACKAGE(SalomeHDF5 REQUIRED COMPONENTS C) FIND_PACKAGE(SalomeHDF5 REQUIRED COMPONENTS C)
FIND_PACKAGE(Eigen3 3.2.5 REQUIRED)
# Other KERNEL optionals: # Other KERNEL optionals:
IF(SALOME_BUILD_TESTS) IF(SALOME_BUILD_TESTS)
@ -139,6 +151,13 @@ ENDIF(SALOME_BUILD_GUI)
FIND_PACKAGE(SalomeOpenCASCADE REQUIRED) FIND_PACKAGE(SalomeOpenCASCADE REQUIRED)
SET(CommonGeomLib_ROOT_DIR $ENV{CommonGeomLib_ROOT_DIR} CACHE PATH "Path to the CommonGeomLib tool")
IF(EXISTS ${CommonGeomLib_ROOT_DIR})
FIND_PACKAGE(SalomeCommonGeomLib REQUIRED)
ELSE(EXISTS ${CommonGeomLib_ROOT_DIR})
MESSAGE(FATAL_ERROR "We absolutely need the CommonGeomLib tool, please define CommonGeomLib_ROOT_DIR !")
ENDIF(EXISTS ${CommonGeomLib_ROOT_DIR})
IF(SALOME_GEOM_USE_VTK) IF(SALOME_GEOM_USE_VTK)
FIND_PACKAGE(SalomeVTK REQUIRED) FIND_PACKAGE(SalomeVTK REQUIRED)
ADD_DEFINITIONS(-DWITH_VTK) ADD_DEFINITIONS(-DWITH_VTK)
@ -278,19 +297,21 @@ EXPORT(TARGETS ${_${PROJECT_NAME}_exposed_targets}
SET(KERNEL_ROOT_DIR "${KERNEL_ROOT_DIR}") SET(KERNEL_ROOT_DIR "${KERNEL_ROOT_DIR}")
SET(GUI_ROOT_DIR "${GUI_ROOT_DIR}") SET(GUI_ROOT_DIR "${GUI_ROOT_DIR}")
SET(OPENCASCADE_ROOT_DIR "${OPENCASCADE_ROOT_DIR}") SET(OPENCASCADE_ROOT_DIR "${OPENCASCADE_ROOT_DIR}")
SET(CommonGeomLib_ROOT_DIR "${CommonGeomLib_ROOT_DIR}")
SET(VTK_ROOT_DIR "${VTK_ROOT_DIR}") SET(VTK_ROOT_DIR "${VTK_ROOT_DIR}")
SET(OPENCV_ROOT_DIR "${OPENCV_ROOT_DIR}") SET(OPENCV_ROOT_DIR "${OPENCV_ROOT_DIR}")
SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include") SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include")
# Build variables that will be expanded when configuring Salome<MODULE>Config.cmake: # Build variables that will be expanded when configuring Salome<MODULE>Config.cmake:
SALOME_CONFIGURE_PREPARE(OpenCV OpenCASCADE VTK) SALOME_CONFIGURE_PREPARE(OpenCV OpenCASCADE CommonGeomLib VTK)
CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in
${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}" INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}"
PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX
KERNEL_ROOT_DIR GUI_ROOT_DIR OPENCASCADE_ROOT_DIR VTK_ROOT_DIR OPENCV_ROOT_DIR) KERNEL_ROOT_DIR GUI_ROOT_DIR OPENCASCADE_ROOT_DIR CommonGeomLib_ROOT_DIR
VTK_ROOT_DIR OPENCV_ROOT_DIR)
# - in the install tree (VSR 16/08/2013: TEMPORARILY COMMENT THIS - TO REMOVE?): # - in the install tree (VSR 16/08/2013: TEMPORARILY COMMENT THIS - TO REMOVE?):
# Get the relative path of the include directory so # Get the relative path of the include directory so

View File

@ -1,4 +1,4 @@
# Copyright (C) 2017-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2017-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

2
README
View File

@ -38,7 +38,7 @@ site:
* Check Release Notes and Software Requirements of the latest SALOME release at * Check Release Notes and Software Requirements of the latest SALOME release at
<https://www.salome-platform.org/?page_id=15/> <https://github.com/SalomePlatform/.github/wiki/SAT/>
Note: SALOME Geometry module needs SALOME KERNEL and SALOME GUI as Note: SALOME Geometry module needs SALOME KERNEL and SALOME GUI as
pre-requisites. pre-requisites.

View File

@ -1,4 +1,4 @@
# Copyright (C) 2013-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2013-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
dnl Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE dnl Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
dnl dnl
dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, dnl Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
dnl Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE dnl Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
dnl dnl
dnl This library is free software; you can redistribute it and/or dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Lesser General Public dnl modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
dnl Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE dnl Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
dnl dnl
dnl This library is free software; you can redistribute it and/or dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Lesser General Public dnl modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,5 +1,5 @@
#! /usr/bin/env python3 #! /usr/bin/env python3
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,5 +1,5 @@
# -*- coding: iso-8859-1 -*- # -*- coding: iso-8859-1 -*-
# Copyright (C) 2018-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2018-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2015-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2015-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (C) 2022-2023 CEA, EDF # Copyright (C) 2022-2024 CEA, EDF
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -0,0 +1,56 @@
# ExtractBOPFailure example
import math
import salome
salome.salome_init()
import GEOM
from salome.geom import geomBuilder
geompy = geomBuilder.New()
### Prepare shapes for Partition
OX = geompy.MakeVectorDXDYDZ(1, 0, 0, theName="OX")
OY = geompy.MakeVectorDXDYDZ(0, 1, 0, theName="OY")
OZ = geompy.MakeVectorDXDYDZ(0, 0, 1, theName="OZ")
Vertex_1 = geompy.MakeVertex(0, 0, 0, theName="Vertex_1")
Vertex_2 = geompy.MakeVertex(10, 0, 0, theName="Vertex_2")
Vertex_3 = geompy.MakeVertex(0, 0.005, 0, theName="Vertex_3")
Vertex_4 = geompy.MakeVertex(10, 0.015, 0, theName="Vertex_4")
Vertex_5 = geompy.MakeVertex(0, 0.02, 0, theName="Vertex_5")
Vertex_6 = geompy.MakeVertex(10, 0.02, 0, theName="Vertex_6")
Line_1 = geompy.MakeLineTwoPnt(Vertex_1, Vertex_2, theName="Line_1")
Line_2 = geompy.MakeLineTwoPnt(Vertex_3, Vertex_4, theName="Line_2")
Line_3 = geompy.MakeLineTwoPnt(Vertex_5, Vertex_6, theName="Line_3")
Extrusion_1 = geompy.MakePrismVecH(Line_1, OY, 1, theName="Extrusion_1")
Extrusion_2 = geompy.MakePrismVecH(Line_2, OZ, 1, theName="Extrusion_2")
Extrusion_3 = geompy.MakePrismVecH(Line_3, OY, -1, theName="Extrusion_3")
Limit_tolerance_1 = geompy.LimitTolerance(Extrusion_2, 0.01, theName="Limit_tolerance_1")
Extrusion_4 = geompy.MakePrismVecH(Extrusion_1, OZ, -1, theName="Extrusion_4")
Extrusion_5 = geompy.MakePrismVecH(Extrusion_3, OZ, -1, theName="Extrusion_5")
Revolution_1 = geompy.MakeRevolution(Limit_tolerance_1, OX, 45*math.pi/180.0, theName="Revolution_1")
### Try Partition
try :
Partition_1 = geompy.MakePartition([Extrusion_4, Extrusion_5, Revolution_1], [], [], [], geompy.ShapeType["SOLID"], 0, [], 0, theName="Partition_1")
except :
print("EXCEPTION: Partition problem")
### Extract failures
(IsValid, ShapeRes, ShapeErrors) = geompy.ExtractBOPFailure([Extrusion_4, Extrusion_5, Revolution_1], theTimer=True, theVerbose=True, theName="InvalidBOPResult")
### Publish incriminated sub-shapes (reflect errors in their names)
for shapeError in ShapeErrors:
list_ids = shapeError.incriminated
list_subs = geompy.SubShapes(ShapeRes, list_ids)
ii = 1
for subshape in list_subs:
geompy.addToStudyInFather( ShapeRes, subshape, 'SubShape_with_%s_%d'%(str(shapeError.error),ii) )
ii = ii+1
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser()

View File

@ -0,0 +1,137 @@
# Sample: KindOfShape method for faces, which are results of partitioning of a conical surface with a prism with complex base.
# Faces of the prism are not perpendicular to cone axis, therefore contour-wires of resulting cone fragments are composed of lines and 2-order curves.
import sys
import salome
salome.salome_init()
import salome_notebook
notebook = salome_notebook.NoteBook()
###
### GEOM component
###
import GEOM
from salome.geom import geomBuilder
import math
import SALOMEDS
def approximatelyEqual(a, b, epsilon = 1e-5):
return abs(a - b) <= ((abs(b) if (abs(a) < abs(b)) else abs(a)) * epsilon)
def assertShapeKindEquals(iShapeInfo, iKind):
assert (len(iShapeInfo) > 0), "Yielded data array is empty."
assert (iShapeInfo[0] == iKind), f"Expected shape kind is {iKind}, but yielded kind is {iShapeInfo[0]}."
def assertConePropsEqual(iShapeName, iShapeInfo, iExpectedShapeInfo):
assertShapeKindEquals(iShapeInfo, geompy.kind.CONE2D)
assert (len(iShapeInfo) == len(iExpectedShapeInfo)), f"{iShapeName}: Yielded data array is of unexpected length."
for idx in range(1, len(iShapeInfo)):
assert (approximatelyEqual(iShapeInfo[idx], iExpectedShapeInfo[idx])), f"{iShapeName}: Yielded data array element is not equal to the expected value."
def assertConeInfoEquals(iFace, iExpectedShapeInfo, iAddRestoredConeToStudy = False):
ShapeInfo = geompy.KindOfShape(iFace)
print("ShapeInfo of " + iFace.GetName() + " = ", end = "")
print(ShapeInfo, ', ')
assertConePropsEqual(iFace.GetName(), ShapeInfo, iExpectedShapeInfo)
if (iAddRestoredConeToStudy):
BottomLidCenter = geompy.MakeVertex(ShapeInfo[1], ShapeInfo[2], ShapeInfo[3])
AxisAuxPnt = geompy.MakeVertex(ShapeInfo[1] + ShapeInfo[4], ShapeInfo[2] + ShapeInfo[5], ShapeInfo[3] + ShapeInfo[6])
Axis = geompy.MakeVector(BottomLidCenter, AxisAuxPnt)
R1 = ShapeInfo[7] # Bottom lid radius.
R2 = ShapeInfo[8] # Top lid radius.
H = ShapeInfo[9]
RestoredCone = geompy.MakeCone(BottomLidCenter, Axis, R1, R2, H)
geompy.addToStudy(RestoredCone, iFace.GetName() + '__RestoredCone')
# iExpectedConeFragmentShapeInfos is a dictionary of [IndexOfFace, ExpectedShapeInfoOfFace]. IndexOfFace is zero-based index, not one-based one as in Shaper GUI!
def partitionConeAndAssertShapeInfosEqual(iCone, iPartitioningShape, iExpectedConeFragmentShapeInfos, iAddResultsToStudy):
PartitionedCone = geompy.MakePartition([iCone], [iPartitioningShape], [], [], geompy.ShapeType["FACE"], 0, [], 0)
if (iAddResultsToStudy):
geompy.addToStudy(PartitionedCone, "Partitioned" + iCone.GetName())
ConeFragments = geompy.ExtractShapes(PartitionedCone, geompy.ShapeType["FACE"], True)
ConeFragmentsIdxs = iExpectedConeFragmentShapeInfos.keys()
for ConeFragmentIdx in ConeFragmentsIdxs:
assert (ConeFragmentIdx < len(ConeFragments)), f"Num of faces, {iCone.GetName()} is partitioned into, <= {ConeFragmentIdx} (zero-based index)."
ConeFragment = ConeFragments[ConeFragmentIdx]
ConeFragmentName = f"Partitioned{iCone.GetName()}_Face_{ConeFragmentIdx+1}" # Add index to a name as Shaper GUI does.
if (iAddResultsToStudy):
geompy.addToStudyInFather(PartitionedCone, ConeFragment, ConeFragmentName)
else:
ConeFragment.SetName(ConeFragmentName)
assertConeInfoEquals(ConeFragment, iExpectedConeFragmentShapeInfos[ConeFragmentIdx], iAddResultsToStudy)
geompy = geomBuilder.New()
OriginalConeBaseCenter = geompy.MakeVertex(100, 130, -60)
OriginalConeAxisAuxPnt = geompy.MakeVertex(100, 230, 40)
OriginalConeAxis = geompy.MakeVector(OriginalConeBaseCenter, OriginalConeAxisAuxPnt)
OriginalCone = geompy.MakeCone(OriginalConeBaseCenter, OriginalConeAxis, 100, 50, 300)
PrismSubstrateCenter = geompy.MakeVertex(100, 1000, 50)
PrismDirAuxPnt = geompy.MakeVertex(100, 950, 50)
PrismDir = geompy.MakeVector(PrismSubstrateCenter, PrismDirAuxPnt)
PrismSubstrate = geompy.MakeDiskPntVecR(PrismSubstrateCenter, PrismDir, 100)
sk = geompy.Sketcher2D()
sk.addPoint(0.395986, 43.346713)
sk.addSegmentAbsolute(66.321537, 41.733575)
sk.addSegmentAbsolute(80.619408, -2.852314)
sk.addSegmentAbsolute(67.641539, -38.565150)
sk.addSegmentAbsolute(22.193602, -56.632163)
sk.addSegmentAbsolute(-19.060136, -51.084351)
sk.addSegmentAbsolute(-60.823572, 34.825751)
sk.addSegmentAbsolute(-13.047004, 55.727527)
sk.close()
PrismBase = sk.wire(PrismSubstrate)
Prism = geompy.MakePrismVecH(PrismBase, PrismDir, 1400)
geompy.addToStudy( OriginalConeBaseCenter, 'OriginalConeBaseCenter' )
geompy.addToStudy( OriginalConeAxisAuxPnt, 'OriginalConeAxisAuxPnt' )
geompy.addToStudy( OriginalConeAxis, 'OriginalConeAxis' )
geompy.addToStudy( OriginalCone, 'OriginalCone' )
geompy.addToStudy( PrismSubstrateCenter, 'PrismSubstrateCenter' )
geompy.addToStudy( PrismDirAuxPnt, 'PrismDirAuxPnt' )
geompy.addToStudy( PrismDir, 'PrismDir' )
geompy.addToStudy( PrismSubstrate, 'PrismSubstrate' )
geompy.addToStudy( PrismBase, 'PrismBase' )
geompy.addToStudy( Prism, 'Prism' )
# Test on the original cone
ExpectedOriginalConeFragmentsShapeInfos = {
3: ["CONE2D", 100.0, 215.76160602318674, 25.761606023186744, 0.0, 0.7071067811865475, 0.7071067811865475, 79.7857956051852, 54.62305376134459, 150.9764510630437],
5: ["CONE2D", 100.0, 129.99999999999753, -60.000000000002466, 0.0, 0.7071067811865475, 0.7071067811865475, 100.00000000000058, 69.82277418813575, 181.06335487118898],
11: ["CONE2D", 100.0, 216.57653245407857, 26.57653245407856, 0.0, 0.7071067811865475, 0.7071067811865475, 79.59371560336794, 52.95933239773038, 159.80629923382543]
}
partitionConeAndAssertShapeInfosEqual(OriginalCone, Prism, ExpectedOriginalConeFragmentsShapeInfos, True)
# Test on isotropically scaled cone. Non-isotropical scaling does not preserve shape kind - it is desired behavior.
ScaledCone = geompy.MakeScaleTransform(OriginalCone, OriginalConeAxisAuxPnt, 2)
ScaledCone.SetName('ScaledCone')
ExpectedScaledConeFragmentsShapeInfos = {
4: ["CONE2D", 100.0, 29.9999999999999, -160.00000000000009, 0.0, 0.7071067811865475, 0.7071067811865475, 200.00000000000003, 162.64508449690112, 224.1294930185934],
6: ["CONE2D", 100.0, 262.09898500769475, 72.09898500769472, 0.0, 0.7071067811865475, 0.7071067811865475, 145.2937445981814, 120.13428858458612, 150.95673608157182],
12: ["CONE2D", 100.0, 262.8999708414969, 72.8999708414969, 0.0, 0.7071067811865475, 0.7071067811865475, 145.10495042660943, 117.46838914559419, 165.8193676860916]
}
partitionConeAndAssertShapeInfosEqual(ScaledCone, Prism, ExpectedScaledConeFragmentsShapeInfos, False)
# Test on a cone, mirrored relative to a point.
PntMirroredCone = geompy.MakeMirrorByPoint(OriginalCone, OriginalConeAxisAuxPnt)
PntMirroredCone.SetName('PntMirroredCone')
ExpectedPntMirroredConeFragmentsShapeInfos = {
2: ["CONE2D", 100.0, 229.8712015945071, 39.87120159450711, -0.0, -0.7071067811865475, -0.7071067811865475, 76.39941588513841, 51.25530645152799, 150.8646566016625],
7: ["CONE2D", 100.0, 330.0, 140.0, -0.0, -0.7071067811865475, -0.7071067811865475, 100.0, 71.73019727352477, 169.61881635885143],
10: ["CONE2D", 100.0, 249.15532313133338, 59.15532313133339, -0.0, -0.7071067811865475, -0.7071067811865475, 80.9447269211102, 51.428754043115056, 177.09583726797095]
}
partitionConeAndAssertShapeInfosEqual(PntMirroredCone, Prism, ExpectedPntMirroredConeFragmentsShapeInfos, False)
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser()

View File

@ -1,4 +1,4 @@
# Copyright (C) 2017-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2017-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public
@ -58,6 +58,8 @@ SET(GOOD_TESTS
check_compound_of_blocks.py check_compound_of_blocks.py
check_self_intersections.py check_self_intersections.py
check_shape.py check_shape.py
check_conformity.py
check_bop.py
complex_objs_ex01.py complex_objs_ex01.py
complex_objs_ex02.py complex_objs_ex02.py
complex_objs_ex03.py complex_objs_ex03.py
@ -76,6 +78,7 @@ SET(GOOD_TESTS
get_non_blocks.py get_non_blocks.py
import_export.py import_export.py
inertia.py inertia.py
kind_of_shape_cone.py
min_distance.py min_distance.py
curvature_face.py curvature_face.py
normal_face.py normal_face.py

View File

@ -26,3 +26,32 @@ id_wire = geompy.addToStudy(wire,"Wire")
# display the wire # display the wire
gg.createAndDisplayGO(id_wire) gg.createAndDisplayGO(id_wire)
# Create a wire from edges that are not connected to each other.
# Given tolerance should cover the gaps to build connected wire.
# Three different modes to do that are possible.
gap = 1
tolerance = gap
px_gap = geompy.MakeVertex(100. + gap, 0. , 0. )
py_gap = geompy.MakeVertex(0. , 100. + gap, 0. )
vxy_gap = geompy.MakeVector(px_gap, py_gap)
# 1. Join edges by fixing tolerance
wire_ft = geompy.MakeWire([vxy_gap, arc], tolerance, "wire_fixed_tolerance")
# final wire tolerance will be near the half of the gap (0.5)
print(geompy.Tolerance(wire_ft)[5])
assert(abs(geompy.Tolerance(wire_ft)[5] - 0.5) < 1e-04)
# 2. Join edges by changing their underlying curves (but keeping curve types)
# This functionality is available in TUI only.
wire_cc = geompy.MakeWireConstCurveType([vxy_gap, arc], tolerance, "wire_const_curve_type")
# final wire tolerance will stay small
print(geompy.Tolerance(wire_cc)[5])
assert(geompy.Tolerance(wire_cc)[5] < 1e-04)
# 3. Join edges by changing their underlying curves (approximating with b-splines)
# This functionality is available in TUI only.
wire_ap = geompy.MakeWireWithMode([vxy_gap, arc], tolerance, GEOM.WBM_Approximation, "wire_approximated_curves")
# final wire tolerance will stay small
print(geompy.Tolerance(wire_ap)[5])
assert(geompy.Tolerance(wire_ap)[5] < 1e-04)

View File

@ -47,12 +47,37 @@ face5 = geompy.MakeFaceWithConstraints([geompy.GetSubShape(cut, [5]), geompy.Get
geompy.GetSubShape(cut, [11]), geompy.GetSubShape(cut, [3]), geompy.GetSubShape(cut, [11]), geompy.GetSubShape(cut, [3]),
geompy.GetSubShape(cut, [13]), geompy.GetSubShape(cut, [3])]) geompy.GetSubShape(cut, [13]), geompy.GetSubShape(cut, [3])])
# create circle from 3 points
pCirc1 = geompy.MakeVertex(17.274575, 63.776413, 50.610737)
pCirc2 = geompy.MakeVertex(37.5, 49.081782, 127.552826)
pCirc3 = geompy.MakeVertex(62.5, 78.471044, 50.610737)
Circle_1 = geompy.MakeCircleThreePnt(pCirc1, pCirc2, pCirc3)
listE = []
listE.append(Circle_1)
# create list of points
listV = []
pV1 = geompy.MakeVertex(64.694631, 85.225425, 64.54915)
listV.append(pV1)
pV2 = geompy.MakeVertex(11.528956, 67.95085, 95.45085)
listV.append(pV2)
pV3 = geompy.MakeVertex(36.233192, 82.369878, 102.699525)
listV.append(pV3)
pV4 = geompy.MakeVertex(35.305369, 85.225425, 64.54915)
listV.append(pV4)
pV5 = geompy.MakeVertex(50, 75.355339, 115.355339)
listV.append(pV5)
# create face from edges and points
face6 = geompy.MakeWrappedFace(listE, listV, 1e-5)
# add objects in the study # add objects in the study
id_face1 = geompy.addToStudy(face1,"Face1") id_face1 = geompy.addToStudy(face1,"Face1")
id_face2 = geompy.addToStudy(face2,"Face2") id_face2 = geompy.addToStudy(face2,"Face2")
id_face3 = geompy.addToStudy(face3,"Face3") id_face3 = geompy.addToStudy(face3,"Face3")
id_face4 = geompy.addToStudy(face4,"Face4") id_face4 = geompy.addToStudy(face4,"Face4")
id_face5 = geompy.addToStudy(face5,"Face5") id_face5 = geompy.addToStudy(face5,"Face5")
id_face6 = geompy.addToStudy(face5,"Face6")
# display the faces # display the faces
gg.createAndDisplayGO(id_face1) gg.createAndDisplayGO(id_face1)
@ -70,3 +95,6 @@ gg.setTransparency(id_face4,0.2)
gg.createAndDisplayGO(id_face5) gg.createAndDisplayGO(id_face5)
gg.setDisplayMode(id_face5,1) gg.setDisplayMode(id_face5,1)
gg.setTransparency(id_face5,0.2) gg.setTransparency(id_face5,0.2)
gg.createAndDisplayGO(id_face6)
gg.setDisplayMode(id_face6,1)
gg.setTransparency(id_face6,0.2)

View File

@ -13,14 +13,17 @@ box = geompy.MakeBox(20, 20, 20, 200, 200, 200)
# create a new object as offset of the given object # create a new object as offset of the given object
offset = geompy.MakeOffset(box, 70.) offset = geompy.MakeOffset(box, 70.)
offset2 = geompy.MakeOffsetIntersectionJoin(box, 70.) offset2 = geompy.MakeOffsetIntersectionJoin(box, 70.)
offset3 = geompy.MakeOffsetPartial(box, 70., [13, 33])
# add objects in the study # add objects in the study
id_box = geompy.addToStudy(box, "Box") id_box = geompy.addToStudy(box, "Box")
id_offset = geompy.addToStudy(offset, "Offset") id_offset = geompy.addToStudy(offset, "Offset")
id_offset2 = geompy.addToStudy(offset2, "Offset_intersection_join") id_offset2 = geompy.addToStudy(offset2, "Offset_intersection_join")
id_offset3 = geompy.addToStudy(offset3, "Offset_Partial")
# display the results # display the results
gg.createAndDisplayGO(id_box) gg.createAndDisplayGO(id_box)
gg.setDisplayMode(id_box,1) gg.setDisplayMode(id_box,1)
gg.createAndDisplayGO(id_offset) gg.createAndDisplayGO(id_offset)
gg.createAndDisplayGO(id_offset2) gg.createAndDisplayGO(id_offset2)
gg.createAndDisplayGO(id_offset3)

View File

@ -1,4 +1,4 @@
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,5 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,32 @@
/*!
\page check_bop_page Extract BOP Failure
The Extract BOP Failure tool makes it possible to analyse a BOP or Partition failure, in case the result is invalid. \n
It performs the general fuse BOP and returns the resulting shape and the list of errors from Check Shape point of view.
This is a TUI-only functionality.
<b>TUI Command:</b>
<UL>
<LI>
<em>(IsValid, ShapeRes, ShapeErrors) = geompy.ExtractBOPFailure(theShapes, theTimer=False, theTopo=False, theParallel=False, theExact=False, theVerbose=True),</em> \n
where \n
\em theShapes is the list of argument shapes for BOP. \n
\em theTimer - if True, the time of the operation is measured. \n
\em theTopo - if True, only the topological entities will be checked, otherwise geometry and topology are checked. \n
\em theParallel - if True, the operation will be executed in parallel. \n
\em theExact - if True, an exact check will be performed. \n
\em theVerbose - if True, prints execution errors and check results. \n
\em Returns: \n
\em IsValid - a boolean value (whether result shape is valid or not) \n
\em ShapeRes - the result shape itself \n
\em ShapeErrors - the list of GEOM.GEOM_IMeasureOperations.ShapeError \n
</LI>
</UL>
See also a \ref tui_check_bop_page "TUI example".
*/

View File

@ -12,6 +12,8 @@ In this dialog:
- Input or accept the default \b Name of the resulting shape. - Input or accept the default \b Name of the resulting shape.
- Click the arrow button and select in the Object Browser or in the Viewer the <b>Objects</b> the common part which of should be found. - Click the arrow button and select in the Object Browser or in the Viewer the <b>Objects</b> the common part which of should be found.
- Activate the corresponding check-box if you wish to <b> Detect Self-intersections </b> - Activate the corresponding check-box if you wish to <b> Detect Self-intersections </b>
- Activate the corresponding check-box if you wish to use a <b> fuzzy parameter </b>.
If activated, you can define the fuzzy tolerance in the <b> fuzzy parameter </b> input box.
- Activate \ref restore_presentation_parameters_page "Advanced options" if required. - Activate \ref restore_presentation_parameters_page "Advanced options" if required.
- Press "Apply" or "Apply & Close" button to get the result (GEOM_Object). - Press "Apply" or "Apply & Close" button to get the result (GEOM_Object).
@ -26,15 +28,15 @@ In this dialog:
This operation can be performed using a <b>TUI Command:</b> This operation can be performed using a <b>TUI Command:</b>
<em>geompy.MakeCommonList(theShapesList, checkSelfInte)</em> <em>geompy.MakeCommonList(theShapesList, checkSelfInte, name, fuzzyParam)</em>
<b>Arguments:</b> Name + a list of shapes + an optional flag for self-intersection check. <b>Arguments:</b> a list of shapes + an optional flag for self-intersection check + an optional name + an optional fuzzy parameter.
There is also a special <b>TUI Command</b> for the Common operation on two shapes : There is also a special <b>TUI Command</b> for the Common operation on two shapes :
<em>geompy.MakeCommon(s1, s2, checkSelfInte)</em> <em>geompy.MakeCommon(s1, s2, checkSelfInte, name, fuzzyParam)</em>
<b>Arguments:</b> Name + 2 shapes + an optional flag for self-intersection check. <b>Arguments:</b> 2 shapes + an optional flag for self-intersection check + an optional name + an optional fuzzy parameter.
<b>Example:</b> <b>Example:</b>

View File

@ -19,14 +19,10 @@ corresponds to OX axis of the global coordinate system.
<EM> Vmaj' = (Vn * Vmaj) * Vn</em>, where \em Vn is a normal vector and <EM> Vmaj' = (Vn * Vmaj) * Vn</em>, where \em Vn is a normal vector and
\em Vmaj is an original vector of the major axis. \em Vmaj is an original vector of the major axis.
\n <b>TUI Command (without the major axis):</b> <em>geompy.MakeEllipse(Point, Vector, RadiusMajor, RadiusMinor)</em> \n <b>TUI Command (without the major axis):</b> <em>geompy.MakeEllipse(Point, Vector, RadiusMajor, RadiusMinor, VectorMajor=None)</em>
\n <b>Arguments:</b> Name + 1 vertex (for the center) + 1 edge (for \n <b>Arguments:</b> Name + 1 vertex (for the center) + 1 edge (for
the direction) + 1 X Radius + 1 Y Radius. the direction) + 1 X Radius + 1 Y Radius + 1 optional edge (for the major axis direction).
\n If the <b>VectorMajor</b> argument is omitted, the ellipse's major axis will be along the X-axis.
\n <b>TUI Command (with the major axis):</b> <em>geompy.MakeEllipseVec(Point, Vector, RadiusMajor, RadiusMinor, VectorMajor)</em>
\n <b>Arguments:</b> Name + 1 vertex (for the center) + 1 edge (for
the normal direction) + 1 X Radius + 1 Y Radius + 1 edge (for the
major axis direction).
\image html ellipse.png \image html ellipse.png

View File

@ -8,22 +8,22 @@
\n The \b Result of each operation will be a GEOM_Object (SOLID). \n The \b Result of each operation will be a GEOM_Object (SOLID).
\n Firstly, you can define a \b Sphere by the <b>Center Point</b> and the \b Radius. \n Firstly, you can define a \b Sphere by the <b>Center Point</b> and the \b Radius.
\n <b>TUI Command:</b> <em>geompy.MakeSphere(Point, Radius)</em>
\n <b>Arguments:</b> Name + 1 vertex + 1 value (Radius). \n <b>Arguments:</b> Name + 1 vertex + 1 value (Radius).
\n <b>TUI Command:</b> <em>geompy.MakeSpherePntR(Point, Radius)</em>
\image html sphere1.png \image html sphere1.png
\n Secondly, you can define a \b Sphere with the center at the origin of \n Secondly, you can define a \b Sphere with the center at the origin of
coordinate system by the \b Radius. coordinate system by the \b Radius.
\n <b>Arguments:</b> Name + 1 value (Radius).
\n <b>TUI Command:</b> <em>geompy.MakeSphereR(Radius)</em> \n <b>TUI Command:</b> <em>geompy.MakeSphereR(Radius)</em>
\n <b>Arguments:</b> Name + 1 value (Radius from the origin).
\image html sphere2.png \image html sphere2.png
\n <b>NB!</b> The is another way to create a \b Sphere, which is \n <b>NB!</b> The is another way to create a \b Sphere, which is
currently accessible only via \b TUI commands. currently accessible only via \b TUI commands.
\n You can define the \b Sphere by the coordinates of the <b>Center \n You can define the \b Sphere by the coordinates of the <b>Center
Point</b> and its \b Radius (in this way you don't need to create it in advance). Point</b> and its \b Radius (in this way you don't need to create the center point in advance).
\n <b>TUI Command:</b> <em>geompy.MakeSphere(X, Y, Z, Radius)</em> \n <b>TUI Command:</b> <em>geompy.MakeSphere(X, Y, Z, Radius)</em>
<b>Example:</b> <b>Example:</b>

View File

@ -29,7 +29,7 @@ connect in the middle of the gap.
\image html wiresn.png "Wire" \image html wiresn.png "Wire"
Our <b>TUI Scripts</b> provide you with useful examples of creation of Our <b>TUI Scripts</b> provide you with useful examples of
\ref tui_creation_wire "Advanced Geometric Objects". \ref tui_creation_wire "Creation of a Wire".
*/ */

View File

@ -13,6 +13,8 @@ In this dialog:
- Click the arrow button and select in the Object Browser or in the Viewer the <b>Main Object</b>, which will be cut by tool objects. - Click the arrow button and select in the Object Browser or in the Viewer the <b>Main Object</b>, which will be cut by tool objects.
- Select the <b>Tool objects</b>, which will cut the main object. - Select the <b>Tool objects</b>, which will cut the main object.
- Activate the corresponding check-box if you wish to <b> Detect Self-intersections </b>. - Activate the corresponding check-box if you wish to <b> Detect Self-intersections </b>.
- Activate the corresponding check-box if you wish to use a <b> fuzzy parameter </b>.
If activated, you can define the fuzzy tolerance in the <b> fuzzy parameter </b> input box.
- Activate \ref restore_presentation_parameters_page "Advanced options" if required. - Activate \ref restore_presentation_parameters_page "Advanced options" if required.
- Press "Apply" or "Apply & Close" button to get the result (GEOM_Object). - Press "Apply" or "Apply & Close" button to get the result (GEOM_Object).
@ -25,15 +27,17 @@ In this dialog:
This operation can be performed using a <b>TUI Command:</b> This operation can be performed using a <b>TUI Command:</b>
<em>geompy.MakeCutList(theMainShape, theShapesList, checkSelfInte)</em> <em>geompy.MakeCutList(theMainShape, theShapesList, checkSelfInte, name, fuzzyParam)</em>
<b>Arguments:</b> Name + a main shape + a list of other shapes + an optional flag for self-intersection check. <b>Arguments:</b> a main shape + a list of other shapes + an optional flag for self-intersection
check + an optional name + an optional fuzzy parameter.
There is also a special <b>TUI Command:</b> for the Cut operation on two shapes (object and tool) : There is also a special <b>TUI Command:</b> for the Cut operation on two shapes (object and tool) :
<em>geompy.MakeCut(s1, s2, checkSelfInte)</em> <em>geompy.MakeCut(s1, s2, checkSelfInte, name, fuzzyParam)</em>
<b>Arguments:</b> Name + the object + the tool + an optional flag for self-intersection check. <b>Arguments:</b> the object + the tool + an optional flag for self-intersection check + an
optional name + an optional fuzzy parameter.
<b>Example:</b> <b>Example:</b>

View File

@ -13,6 +13,8 @@ In this dialog:
- Click the arrow button and select in the Object Browser or in the Viewer the <b>Objects</b> to be fused. - Click the arrow button and select in the Object Browser or in the Viewer the <b>Objects</b> to be fused.
- Activate the corresponding check-box if you wish to <b> Detect Self-intersections </b>. - Activate the corresponding check-box if you wish to <b> Detect Self-intersections </b>.
- Activate the corresponding check-box if you wish to <b> remove extra edges </b>. - Activate the corresponding check-box if you wish to <b> remove extra edges </b>.
- Activate the corresponding check-box if you wish to use a <b> fuzzy parameter </b>.
If activated, you can define the fuzzy tolerance in the <b> fuzzy parameter </b> input box.
- Activate \ref restore_presentation_parameters_page "Advanced options" if required. - Activate \ref restore_presentation_parameters_page "Advanced options" if required.
- Press "Apply" or "Apply & Close" button to get the result (GEOM_Object). - Press "Apply" or "Apply & Close" button to get the result (GEOM_Object).
@ -25,17 +27,17 @@ In this dialog:
This operation can be performed using a <b>TUI Command:</b> This operation can be performed using a <b>TUI Command:</b>
<em>geompy.MakeFuseList(theShapesList, checkSelfInte, rmExtraEdges)</em> <em>geompy.MakeFuseList(theShapesList, checkSelfInte, rmExtraEdges, name, fuzzyParam)</em>
<b>Arguments:</b> Name + a list of shapes + an optional flag for <b>Arguments:</b> a list of shapes + an optional flag for self-intersection
self-intersection check + an optional flag to remove extra edges. check + an optional flag to remove extra edges + an optional name + an optional fuzzy parameter.
There is also a special <b>TUI Command</b> for \b Fuse operation on two shapes : There is also a special <b>TUI Command</b> for \b Fuse operation on two shapes :
<em>geompy.MakeFuse(s1, s2, checkSelfInte, rmExtraEdges)</em> <em>geompy.MakeFuse(s1, s2, checkSelfInte, rmExtraEdges, name, fuzzyParam)</em>
<b>Arguments:</b> Name + 2 shapes + an optional flag for self-intersection <b>Arguments:</b> 2 shapes + an optional flag for self-intersection
check + an optional flag to remove extra edges. check + an optional flag to remove extra edges + an optional name + an optional fuzzy parameter.
<b>Example:</b> <b>Example:</b>

View File

@ -5,6 +5,10 @@
\n To produce an <b>Offset Surface</b> in the <b>Main Menu</b> select \n To produce an <b>Offset Surface</b> in the <b>Main Menu</b> select
<b>Operations - > Transformation - > Offset Surface</b> <b>Operations - > Transformation - > Offset Surface</b>
\n There are 2 algorithms for creation of an \b Offset.
\n Firstly, you can offset all faces of selected shape(s) to the same value.
\n This operation translates each point of an \b Object (a set of \n This operation translates each point of an \b Object (a set of
Objects) along a local normal by a given \b Offset distance (signed Objects) along a local normal by a given \b Offset distance (signed
number, negative value meaning inner offset). Gaps between translated number, negative value meaning inner offset). Gaps between translated
@ -13,12 +17,12 @@ adjacent surfaces are filled in either of two ways:
- else the surfaces are extended and intersected, so that sharp edges - else the surfaces are extended and intersected, so that sharp edges
are preserved. are preserved.
\n \b Offset operation is applicable to faces, shells and solids.
\n \ref restore_presentation_parameters_page "Advanced options".
\image html transformation11.png \image html transformation11.png
\n <b>Arguments:</b> Name + Object(s) (face(s), shell(s), solid(s)) + Offset value.
\n The \b Result will be a \b GEOM_Object.
\n \ref restore_presentation_parameters_page "Advanced options".
\n <b>Example:</b> \n <b>Example:</b>
\image html offsetsn.png "The box and its offset surface (Join by pipes activated)" \image html offsetsn.png "The box and its offset surface (Join by pipes activated)"
@ -27,11 +31,27 @@ adjacent surfaces are filled in either of two ways:
- Gaps filled by pipes: <em>geompy.MakeOffset(Shape, Offset),</em> - Gaps filled by pipes: <em>geompy.MakeOffset(Shape, Offset),</em>
- Gaps filled by intersection: <em>geompy.MakeOffsetIntersectionJoin(Shape, Offset),</em> - Gaps filled by intersection: <em>geompy.MakeOffsetIntersectionJoin(Shape, Offset),</em>
where Shape is a shape(s) which has to be an offset, Offset is a value of where \b Shape is a shape(s) which has to be an offset, \b Offset is a value of
the offset. the offset.
\n <b>Arguments:</b> Name + Object (face(s), shell(s), solid(s)) +
Offset value. \n Secondly, you can offset only selected faces of the shape to the given value,
other faces will stay at their initial places,
but could be extended to join with offset faces.
Gaps between adjacent surfaces are filled by intersection of extended surfaces.
\image html transformation11a.png
\n <b>Arguments:</b> Name + Object (shell or solid) +
Face(s) of the object + Offset value.
\n The \b Result will be a \b GEOM_Object. \n The \b Result will be a \b GEOM_Object.
\n \ref restore_presentation_parameters_page "Advanced options".
\n <b>TUI Command:</b>
- <em>geompy.MakeOffsetPartial(Shape, Offset, ListOfFacesIDs),</em>
where \b Shape is a shape(s) which has to be an offset,
\b Offset is a value of the offset,
\b ListOfFacesIDs is a list of integer IDs of sub-faces.
Our <b>TUI Scripts</b> provide you with useful examples of the use of Our <b>TUI Scripts</b> provide you with useful examples of the use of
\ref tui_offset "Transformation Operations". \ref tui_offset "Transformation Operations".

View File

@ -62,6 +62,10 @@ If self-intersection is detected, the operation is aborted.
all self-intersections please use \ref check_self_intersections_page all self-intersections please use \ref check_self_intersections_page
"Detect Self-intersection tool". "Detect Self-intersection tool".
<b>Use Fuzzy Parameter</b> check box is used to enable the usage of the fuzzy tolerance
inside the partition algorithm. The fuzzy tolerance itself can be given in the Fuzzy
Parameter input box.
- Activate \ref restore_presentation_parameters_page "Advanced options" if required. - Activate \ref restore_presentation_parameters_page "Advanced options" if required.
\note Partition is a complex operation, so its result of it depends \note Partition is a complex operation, so its result of it depends
@ -74,13 +78,13 @@ If self-intersection is detected, the operation is aborted.
<em>geompy.MakePartition(ListOfShapes, ListOfTools, ListOfKeepInside, <em>geompy.MakePartition(ListOfShapes, ListOfTools, ListOfKeepInside,
ListOfRemoveInside, Limit, RemoveWebs, ListOfMaterials, ListOfRemoveInside, Limit, RemoveWebs, ListOfMaterials,
KeepNonlimitShapes)</em> KeepNonlimitShapes, fuzzyParam)</em>
<b>TUI Command (without sub-shapes intersection):</b> <b>TUI Command (without sub-shapes intersection):</b>
<em>geompy.MakePartitionNonSelfIntersectedShape(ListOfShapes, <em>geompy.MakePartitionNonSelfIntersectedShape(ListOfShapes,
ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs, ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs,
ListOfMaterials, KeepNonlimitShapes, checkSelfInte)</em> ListOfMaterials, KeepNonlimitShapes, checkSelfInte, fuzzyParam)</em>
Here, Here,
- \em ListOfShapes is a list of shapes to be intersected - \em ListOfShapes is a list of shapes to be intersected
@ -91,6 +95,8 @@ Here,
shapes of low dimension (than \em Limit) in the result. shapes of low dimension (than \em Limit) in the result.
- \em checkSelfInte is a flag that indicates if the arguments should - \em checkSelfInte is a flag that indicates if the arguments should
be checked for self-intersection prior to the operation. be checked for self-intersection prior to the operation.
- \em fuzzyParam is the used fuzzy tolerance inside the partition algorithm.
This tolerance is ignored, if this parameter is omitted or not positive.
- Other parameters are obsolete and kept only for compatibility with - Other parameters are obsolete and kept only for compatibility with
previous versions of SALOME. previous versions of SALOME.

View File

@ -1,6 +1,6 @@
/*! /*!
\page section_opeartion_page Intersection \page section_operation_page Intersection
\b Intersection operation creates a vertex, an edge, a wire or a compound \b Intersection operation creates a vertex, an edge, a wire or a compound
of them representing the intersection of two shapes. of them representing the intersection of two shapes.
@ -13,6 +13,8 @@ In this dialog:
- Input or accept the default \b Name of the resulting shape. - Input or accept the default \b Name of the resulting shape.
- Click the arrow button and select in the Object Browser or in the Viewer the intersecting <b>Objects</b>. - Click the arrow button and select in the Object Browser or in the Viewer the intersecting <b>Objects</b>.
- Activate the corresponding check-box if you wish to <b> Detect Self-intersections</b>. If a self-intersection detected the operation fails. - Activate the corresponding check-box if you wish to <b> Detect Self-intersections</b>. If a self-intersection detected the operation fails.
- Activate the corresponding check-box if you wish to use a <b> fuzzy parameter </b>.
If activated, you can define the fuzzy tolerance in the <b> fuzzy parameter </b> input box.
- Activate \ref restore_presentation_parameters_page "Advanced options" if required. - Activate \ref restore_presentation_parameters_page "Advanced options" if required.
- Press "Apply" or "Apply & Close" button to get the result (VERTEX, EDGE, WIRE or COMPOUND). - Press "Apply" or "Apply & Close" button to get the result (VERTEX, EDGE, WIRE or COMPOUND).
@ -26,9 +28,9 @@ of the GUI module's documentation.
This operation can be performed using a <b>TUI Command:</b> This operation can be performed using a <b>TUI Command:</b>
<em>geompy.MakeSection(s1, s2, checkSelfInte)</em> <em>geompy.MakeSection(s1, s2, checkSelfInte, name, fuzzyParam)</em>
<b>Arguments:</b> Name + 2 shapes + an optional flag for self-intersection check. <b>Arguments:</b> 2 shapes + an optional flag for self-intersection check + an optional name + an optional fuzzy parameter.
<b>Example:</b> <b>Example:</b>

View File

@ -0,0 +1,6 @@
/*!
\page tui_check_bop_page Extract BOP Failure
\tui_script{check_bop.py}
*/

View File

@ -4,4 +4,6 @@
\tui_script{kind_of_shape.py} \tui_script{kind_of_shape.py}
\tui_script{kind_of_shape_cone.py}
*/ */

View File

@ -22,6 +22,7 @@
<li>\subpage tui_check_self_intersections_fast_page</li> <li>\subpage tui_check_self_intersections_fast_page</li>
<li>\subpage tui_fast_intersection_page</li> <li>\subpage tui_fast_intersection_page</li>
<li>\subpage tui_check_conformity_page</li> <li>\subpage tui_check_conformity_page</li>
<li>\subpage tui_check_bop_page</li>
<li>\subpage tui_shape_proximity_page</li> <li>\subpage tui_shape_proximity_page</li>
<li>\subpage tui_xyz_to_uv_page</li> <li>\subpage tui_xyz_to_uv_page</li>
<li>\subpage tui_kind_of_shape_page</li> <li>\subpage tui_kind_of_shape_page</li>

View File

@ -17,7 +17,7 @@ complex geometrical objects (2D & 3D elements):
of a list of objects into an independent object.</li> of a list of objects into an independent object.</li>
<li>\subpage cut_operation_page "Cut" - cuts one shape with <li>\subpage cut_operation_page "Cut" - cuts one shape with
a list of others. </li> a list of others. </li>
<li>\subpage section_opeartion_page "Intersection" - performs an intersection between two shapes.</li> <li>\subpage section_operation_page "Intersection" - performs an intersection between two shapes.</li>
</ul> </ul>
You can use advanced TUI commands performing these operations You can use advanced TUI commands performing these operations

View File

@ -31,6 +31,7 @@
<li>\subpage free_faces_page "Check Free Faces"</li> <li>\subpage free_faces_page "Check Free Faces"</li>
<li>\subpage check_shape_page "Check Shape"</li> <li>\subpage check_shape_page "Check Shape"</li>
<li>\subpage check_conformity_page "Check Conformity"</li> <li>\subpage check_conformity_page "Check Conformity"</li>
<li>\subpage check_bop_page "Extract BOP Failures"</li>
<li>\subpage check_compound_of_blocks_page "Check compound of blocks"</li> <li>\subpage check_compound_of_blocks_page "Check compound of blocks"</li>
<li>\subpage get_non_blocks_page "Get non blocks"</li> <li>\subpage get_non_blocks_page "Get non blocks"</li>
<li>\subpage check_self_intersections_page "Detect Self-intersections"</li> <li>\subpage check_self_intersections_page "Detect Self-intersections"</li>

View File

@ -4,7 +4,7 @@
<ul> <ul>
$navpath $navpath
<li class="footer"> <li class="footer">
Copyright &copy; 2007-2023 CEA, EDF, OPEN CASCADE<br> Copyright &copy; 2007-2024 CEA, EDF, OPEN CASCADE<br>
Copyright &copy; 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS<br> Copyright &copy; 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS<br>
</li> </li>
</ul> </ul>

View File

@ -1,4 +1,4 @@
# Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
# #
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -4,7 +4,7 @@
<ul> <ul>
$navpath $navpath
<li class="footer"> <li class="footer">
Copyright &copy; 2007-2023 CEA, EDF, OPEN CASCADE<br> Copyright &copy; 2007-2024 CEA, EDF, OPEN CASCADE<br>
Copyright &copy; 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS<br> Copyright &copy; 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS<br>
</li> </li>
</ul> </ul>

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2014-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2014-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@ -220,6 +220,29 @@ module GEOM
CC_LE ///< Less then or equal to CC_LE ///< Less then or equal to
}; };
/*!
* \brief Wire construction mode. Regulates the way gaps are closed.
*
* Is used in function GEOM_IShapesOperations.MakeWire()
*/
enum wire_build_mode
{
/*! Do not change curves, just enlarge wire tolerance to cover the gaps */
WBM_FixTolerance,
/*!
* Replace curves, neighbour to the gap,
* with BSplines, connecting in the middle of the gap
*/
WBM_Approximation,
/*!
* Replace curves, neighbour to the gap, with new curves of the same
* type and close parameters, connecting in the middle of the gap
*/
WBM_KeepCurveType
};
/*! /*!
* \brief Object creation parameters * \brief Object creation parameters
* *
@ -1322,6 +1345,18 @@ module GEOM
in double theOffset, in double theOffset,
in boolean theJoinByPipes); in boolean theJoinByPipes);
/*!
* \brief Create new object as offset of the given one.
* Only indexed faces are offset, others keep they original location.
* \param theObject The base object for the offset.
* \param theOffset Offset value.
* \param theFacesIDs The list of face IDs indicating faces to be offset.
* \return New GEOM_Object, containing the offset object.
*/
GEOM_Object OffsetShapePartialCopy (in GEOM_Object theObject,
in double theOffset,
in ListOfLong theFacesIDs);
/*! /*!
* \brief Create new object as projection of the given one on a 2D surface. * \brief Create new object as projection of the given one on a 2D surface.
* \param theSource The source object for the projection. It can be a point, edge or wire. * \param theSource The source object for the projection. It can be a point, edge or wire.
@ -2034,10 +2069,12 @@ module GEOM
* \param theEdgesAndWires List of edge and/or wires. * \param theEdgesAndWires List of edge and/or wires.
* \param theTolerance Maximum distance between vertices, that will be merged. * \param theTolerance Maximum distance between vertices, that will be merged.
* Values less than 1e-07 are equivalent to 1e-07 (Precision::Confusion()). * Values less than 1e-07 are equivalent to 1e-07 (Precision::Confusion()).
* \param theMode Mode of gaps filling.
* \return New GEOM_Object, containing the created wire. * \return New GEOM_Object, containing the created wire.
*/ */
GEOM_Object MakeWire (in ListOfGO theEdgesAndWires, GEOM_Object MakeWire (in ListOfGO theEdgesAndWires,
in double theTolerance); in double theTolerance,
in wire_build_mode theMode);
/*! /*!
* \brief Create a face on the given wire. * \brief Create a face on the given wire.
@ -2066,6 +2103,17 @@ module GEOM
GEOM_Object MakeFaceFromSurface(in GEOM_Object theFace, GEOM_Object MakeFaceFromSurface(in GEOM_Object theFace,
in GEOM_Object theWire); in GEOM_Object theWire);
/**
* \brief Create non planar face with list of edges and list of vertices
* \param theEdges list of Edges(must be closed but not nesessarily belong to the same plane) .
* \param theVertices list of vertices through which the result face must pass.
* \param theTolerance tolerance.
* \return New GEOM_Object, containing the created face.
*/
GEOM_Object MakeWrappedFace(in ListOfGO theEdges,
in ListOfGO theVertices,
in double theTolerance);
/*! /*!
* \brief Create a face from a set of edges with the given constraints. * \brief Create a face from a set of edges with the given constraints.
* \param theConstraints List of edges and constraint faces (as a sequence of a Edge + Face couples): * \param theConstraints List of edges and constraint faces (as a sequence of a Edge + Face couples):
@ -3397,6 +3445,190 @@ module GEOM
*/ */
GEOM_Object MakeHalfPartition (in GEOM_Object theShape, GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
in GEOM_Object thePlane); in GEOM_Object thePlane);
/*!
* [bos#40619] [CEA] Add Fuzzy parameter to partition and boolean operators
* New interface methods were added to support a fuzzy parameter in
* all boolean and partition operations:
* - MakeBooleanWithFuzzy
* - MakeFuseWithFuzzy
* - MakeFuseListWithFuzzy
* - MakeCommonListWithFuzzy
* - MakeCutListWithFuzzy
* - MakePartitionWithFuzzy
* - MakePartitionNonSelfIntersectedShapeWithFuzzy
* - MakeHalfPartitionWithFuzzy
*/
/*!
* \brief Perform one of boolean operations on two given shapes.
* \param theShape1 First argument for boolean operation.
* \param theShape2 Second argument for boolean operation.
* \param theOperation Indicates the operation to be done:
* 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section.
* \param IsCheckSelfInte If TRUE, perform check self intersection
* of arguments before an operation.
* \param theFuzzyParam The fuzzy tolerance to be used in the boolean
* algorithm, if the value is positive.
* \return New GEOM_Object, containing the result shape.
*/
GEOM_Object MakeBooleanWithFuzzy (in GEOM_Object theShape1,
in GEOM_Object theShape2,
in long theOperation,
in boolean IsCheckSelfInte,
in double theFuzzyParam);
/*!
* \brief Perform fusion boolean operation on two given shapes.
* \param theShape1 First argument for fuse operation.
* \param theShape2 Second argument for fuse operation.
* \param IsCheckSelfInte If TRUE, perform check self intersection
* of arguments before an operation.
* \param IsRmExtraEdges If TRUE, perform removal of extra edges
* during an operation.
* \param theFuzzyParam The fuzzy tolerance to be used in the boolean
* algorithm, if the value is positive.
* \return New GEOM_Object, containing the result shape.
*/
GEOM_Object MakeFuseWithFuzzy (in GEOM_Object theShape1,
in GEOM_Object theShape2,
in boolean IsCheckSelfInte,
in boolean IsRmExtraEdges,
in double theFuzzyParam);
/*!
* \brief Perform fusion boolean operation on list of objects.
* \param theShapes Shapes to be fused.
* \param IsCheckSelfInte If TRUE, perform check self intersection
* of arguments before an operation.
* \param IsRmExtraEdges If TRUE, perform removal of extra edges
* during an operation.
* \param theFuzzyParam The fuzzy tolerance to be used in the boolean
* algorithm, if the value is positive.
* \return New GEOM_Object, containing the result shape.
*/
GEOM_Object MakeFuseListWithFuzzy (in ListOfGO theShapes,
in boolean IsCheckSelfInte,
in boolean IsRmExtraEdges,
in double theFuzzyParam);
/*!
* \brief Perform common boolean operation on list of objects.
* \param theShapes Shapes for common operation.
* \param IsCheckSelfInte If TRUE, perform check self intersection
* of arguments before an operation.
* \param theFuzzyParam The fuzzy tolerance to be used in the boolean
* algorithm, if the value is positive.
* \return New GEOM_Object, containing the result shape.
*/
GEOM_Object MakeCommonListWithFuzzy (in ListOfGO theShapes,
in boolean IsCheckSelfInte,
in double theFuzzyParam);
/*!
* \brief Perform cutting of list of objects from theMainShape.
* \param theMainShape the object for cut operation.
* \param theShapes Shapes to be cut from theMainShape (tools).
* \param IsCheckSelfInte If TRUE, perform check self intersection
* of arguments before an operation.
* \param theFuzzyParam The fuzzy tolerance to be used in the boolean
* algorithm, if the value is positive.
* \return New GEOM_Object, containing the result shape.
*/
GEOM_Object MakeCutListWithFuzzy (in GEOM_Object theMainShape,
in ListOfGO theShapes,
in boolean IsCheckSelfInte,
in double theFuzzyParam);
/*!
* \brief Perform partition operation.
*
* \param theShapes Shapes to be intersected.
* \param theTools Shapes to intersect theShapes.
* \note Each compound from ListShapes and ListTools will be exploded in order
* to avoid possible intersection between shapes from this compound.
* \param theLimit Type of resulting shapes (corresponding to TopAbs_ShapeEnum).
* \param theKeepNonlimitShapes: if 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).
* \param theFuzzyParam The fuzzy tolerance to be used in the partition
* algorithm, if the value is positive.
*
* 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:
* \param theKeepInside Shapes, outside which the results will be deleted.
* Each shape from theKeepInside must belong to theShapes also.
* \param theRemoveInside Shapes, inside which the results will be deleted.
* Each shape from theRemoveInside must belong to theShapes also.
* \param theRemoveWebs If TRUE, perform Glue 3D algorithm.
* \param theMaterials Material indices for each shape. Make sense, only if theRemoveWebs is TRUE.
*
* \return New GEOM_Object, containing the result shapes.
*/
GEOM_Object MakePartitionWithFuzzy (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 double theFuzzyParam);
/*!
* \brief Perform partition operation.
*
* 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:
* \param IsCheckSelfInte If TRUE, perform check self intersection
* of arguments before an operation.
* \param theFuzzyParam The fuzzy tolerance to be used in the partition
* algorithm, if the value is positive.
*
* \note Passed compounds (via ListShapes or via ListTools)
* have to consist of nonintersecting shapes.
*
* \return New GEOM_Object, containing the result shapes.
*/
GEOM_Object MakePartitionNonSelfIntersectedShapeWithFuzzy (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,
in double theFuzzyParam);
/*!
* \brief Perform partition of the Shape with the Plane
* \param theShape Shape to be intersected.
* \param thePlane Tool shape, to intersect theShape.
* \param theFuzzyParam The fuzzy tolerance to be used in the partition
* algorithm, if the value is positive.
* \return New GEOM_Object, containing the result shape.
*
* \note This operation is a shortcut to the more general \ref MakePartition
* operation, where \a theShape specifies single "object" (shape being partitioned)
* and \a thePlane specifies single "tool" (intersector shape). Other parameters of
* \ref MakePartition operation have default values:
* - \a theLimit: GEOM::SHAPE (shape limit corresponds to the type of \a theShape)
* - \a theKeepNonlimitShapes: 0
* - \a theKeepInside, \a theRemoveInside, \a theRemoveWebs,
* \a theMaterials (obsolete parameters): empty
*
* \sa MakePartition, MakePartitionNonSelfIntersectedShape
*/
GEOM_Object MakeHalfPartitionWithFuzzy (in GEOM_Object theShape,
in GEOM_Object thePlane,
in double theFuzzyParam);
}; };
// # GEOM_ICurvesOperations: // # GEOM_ICurvesOperations:
@ -4108,6 +4340,16 @@ module GEOM
*/ */
GEOM_Object LimitTolerance (in GEOM_Object theObject, in double theTolerance); GEOM_Object LimitTolerance (in GEOM_Object theObject, in double theTolerance);
/*!
* \brief Provides Python dump functionality for algorithms entirely implemented in Python.
* \param theObject Shape to be processed.
* \param result Shape of the algorithm execution.
* \param imports module import for current functon.
* \param funcName name of a Python function that we need to put into dump.
* \param args arguments of the Python function.
*/
void FuncToPythonDump(in GEOM_Object theObject, in GEOM_Object result, in string imports, in string funcName, in string args);
/*! /*!
* \brief Return information on what has been done by the last called healing method. * \brief Return information on what has been done by the last called healing method.
@ -4555,6 +4797,25 @@ module GEOM
string PrintShapeErrors (in GEOM_Object theShape, string PrintShapeErrors (in GEOM_Object theShape,
in ShapeErrors theErrors); in ShapeErrors theErrors);
// /*!
// * \brief Extract and identify any problem in the source shapes used in a Boolean Operation.
// * \param theShapes Shapes being used in the Boolean Operation
// * \param theUseTimer Whether to chronometrize computation time
// * \param theTopoOnly Whether to check topology only
// * \param theRunParallel Whether to run the computations in parallel
// * \param theDoExact Whether to perform exact checking
// * \param theResultShape Output parameter. The result of BOP General Fuse. Indices of its sub-shapes are reported in theErrors structure.
// * \param theErrors Output parameter. Structure, containing discovered errors and incriminated sub-shapes.
// * \return TRUE, if the input shapes "seem to be valid" for BOP.
// */
boolean ExtractBOPFailure (in ListOfGO theShapes,
in boolean theUseTimer,
in boolean theTopoOnly,
in boolean theRunParallel,
in boolean theDoExact,
out GEOM_Object theResultShape,
out ShapeErrors theErrors);
/*! /*!
* \brief Check a topology of the given shape on self-intersections presence. * \brief Check a topology of the given shape on self-intersections presence.
* \param theShape Shape to check validity of. * \param theShape Shape to check validity of.

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2014-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2014-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2014-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2014-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2014-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2014-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2014-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2014-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2014-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2014-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public
@ -32,6 +32,8 @@ SET( _res_files
GEOMDS_Resources GEOMDS_Resources
ShHealing ShHealing
Y14.5M-2009.ttf Y14.5M-2009.ttf
action_assets.json
action_id_mutations.json
3dsketch.png 3dsketch.png
isoline.png isoline.png
isoline_v.png isoline_v.png
@ -131,6 +133,7 @@ SET( _res_files
multitranslationsimple.png multitranslationsimple.png
normale.png normale.png
offset.png offset.png
offset_partial.png
projection.png projection.png
projection_on_edge.png projection_on_edge.png
projection_on_wire.png projection_on_wire.png
@ -319,7 +322,3 @@ SALOME_CONFIGURE_FILE(GEOMCatalog.xml.in GEOMCatalog.xml INSTALL ${SALOME_GEOM_I
SALOME_CONFIGURE_FILE(SalomeApp.xml.in SalomeApp.xml INSTALL ${SALOME_GEOM_INSTALL_RES_DATA}) SALOME_CONFIGURE_FILE(SalomeApp.xml.in SalomeApp.xml INSTALL ${SALOME_GEOM_INSTALL_RES_DATA})
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml RENAME SalomeAppSL.xml DESTINATION ${SALOME_GEOM_INSTALL_RES_DATA}) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml RENAME SalomeAppSL.xml DESTINATION ${SALOME_GEOM_INSTALL_RES_DATA})
SALOME_CONFIGURE_FILE(Plugin.in Plugin INSTALL ${SALOME_GEOM_INSTALL_RES_DATA}) SALOME_CONFIGURE_FILE(Plugin.in Plugin INSTALL ${SALOME_GEOM_INSTALL_RES_DATA})

File diff suppressed because one or more lines are too long

3639
resources/action_assets.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,202 @@
{
"mutations": [
{
"sectionPrefixOld": "shortcuts",
"sectionPrefixNew": "shortcuts_vA1.0",
"oldToNewActionIDMap": {
"GEOM/Isolines/Increase number" : "GEOM/Selection/POP_ISOS/Increase number",
"GEOM/Isolines/Decrease number" : "GEOM/Selection/POP_ISOS/Decrease number",
"GEOM/Transparency/Increase" : "GEOM/Selection/POP_TRANSPARENCY/Increase",
"GEOM/Transparency/Decrease" : "GEOM/Selection/POP_TRANSPARENCY/Decrease",
"GEOM/AdvancedGEOM/DividedCylinder" : "GEOM/Plugins/AdvancedGEOM/DividedCylinder",
"GEOM/AdvancedGEOM/DividedDisk" : "GEOM/Plugins/AdvancedGEOM/DividedDisk",
"GEOM/AdvancedGEOM/SmoothingSurface" : "GEOM/Plugins/AdvancedGEOM/SmoothingSurface",
"GEOM/AdvancedGEOM/TShape_Basic" : "GEOM/Plugins/AdvancedGEOM/TShape_Basic",
"GEOM/BREPPlugin/Export_BREP" : "GEOM/Plugins/BREPPlugin/Export_BREP",
"GEOM/BREPPlugin/Import_BREP" : "GEOM/Plugins/BREPPlugin/Import_BREP",
"GEOM/IGESPlugin/Export_IGES" : "GEOM/Plugins/IGESPlugin/Export_IGES",
"GEOM/IGESPlugin/Import_IGES" : "GEOM/Plugins/IGESPlugin/Import_IGES",
"GEOM/STEPPlugin/Export_STEP" : "GEOM/Plugins/STEPPlugin/Export_STEP",
"GEOM/STEPPlugin/Import_STEP" : "GEOM/Plugins/STEPPlugin/Import_STEP",
"GEOM/STLPlugin/Export_STL" : "GEOM/Plugins/STLPlugin/Export_STL",
"GEOM/STLPlugin/Import_STL" : "GEOM/Plugins/STLPlugin/Import_STL",
"GEOM/VTKPlugin/Export_VTK" : "GEOM/Plugins/VTKPlugin/Export_VTK",
"GEOM/XAOPlugin/Export_XAO" : "GEOM/Plugins/XAOPlugin/Export_XAO",
"GEOM/XAOPlugin/Import_XAO" : "GEOM/Plugins/XAOPlugin/Import_XAO",
"GEOM/STB_DELETE" : "GEOM/Edit/DELETE",
"GEOM/STB_POINT" : "GEOM/NewEntity/Basic/POINT",
"GEOM/STB_LINE" : "GEOM/NewEntity/Basic/LINE",
"GEOM/STB_CIRCLE" : "GEOM/NewEntity/Basic/CIRCLE",
"GEOM/STB_ELLIPSE" : "GEOM/NewEntity/Basic/ELLIPSE",
"GEOM/STB_ARC" : "GEOM/NewEntity/Basic/ARC",
"GEOM/STB_CURVE" : "GEOM/NewEntity/Basic/CURVE",
"GEOM/STB_ISOLINE" : "GEOM/NewEntity/Basic/ISOLINE",
"GEOM/STB_VECTOR" : "GEOM/NewEntity/Basic/VECTOR",
"GEOM/STB_PLANE" : "GEOM/NewEntity/Basic/PLANE",
"GEOM/STB_LOCAL_CS" : "GEOM/NewEntity/Basic/LOCAL_CS",
"GEOM/STB_ORIGIN_AND_VECTORS" : "GEOM/NewEntity/Basic/ORIGIN_AND_VECTORS",
"GEOM/STB_SURFACE_FROM_FACE" : "GEOM/NewEntity/Basic/SURFACE_FROM_FACE",
"GEOM/STB_BOX" : "GEOM/NewEntity/Primitives/BOX",
"GEOM/STB_CYLINDER" : "GEOM/NewEntity/Primitives/CYLINDER",
"GEOM/STB_SPHERE" : "GEOM/NewEntity/Primitives/SPHERE",
"GEOM/STB_TORUS" : "GEOM/NewEntity/Primitives/TORUS",
"GEOM/STB_CONE" : "GEOM/NewEntity/Primitives/CONE",
"GEOM/STB_RECTANGLE" : "GEOM/NewEntity/Primitives/RECTANGLE",
"GEOM/STB_DISK" : "GEOM/NewEntity/Primitives/DISK",
"GEOM/STB_EXTRUSION" : "GEOM/NewEntity/Generation/EXTRUSION",
"GEOM/STB_REVOLUTION" : "GEOM/NewEntity/Generation/REVOLUTION",
"GEOM/STB_FILLING" : "GEOM/NewEntity/Generation/FILLING",
"GEOM/STB_PIPE" : "GEOM/NewEntity/Generation/PIPE",
"GEOM/STB_PIPE_PATH" : "GEOM/NewEntity/Generation/PIPE_PATH",
"GEOM/STB_THICKNESS" : "GEOM/NewEntity/Generation/THICKNESS",
"GEOM/STB_GROUP_CREATE" : "GEOM/NewEntity/Group/GROUP_CREATE",
"GEOM/STB_GROUP_EDIT" : "GEOM/NewEntity/Group/GROUP_EDIT",
"GEOM/STB_GROUP_UNION" : "GEOM/NewEntity/Group/GROUP_UNION",
"GEOM/STB_GROUP_INTERSECT" : "GEOM/NewEntity/Group/GROUP_INTERSECT",
"GEOM/STB_GROUP_CUT" : "GEOM/NewEntity/Group/GROUP_CUT",
"GEOM/STB_FIELD_CREATE" : "GEOM/NewEntity/Field/FIELD_CREATE",
"GEOM/STB_FIELD_EDIT" : "GEOM/NewEntity/Field/FIELD_EDIT",
"GEOM/STB_RELOAD_IMPORTED" : "GEOM/Selection/RELOAD_IMPORTED",
"GEOM/STB_Q_FACE" : "GEOM/NewEntity/Blocks/Q_FACE",
"GEOM/STB_HEX_SOLID" : "GEOM/NewEntity/Blocks/HEX_SOLID",
"GEOM/STB_SKETCH" : "GEOM/NewEntity/Basic/SKETCH",
"GEOM/STB_3DSKETCH" : "GEOM/NewEntity/Basic/3DSKETCH",
"GEOM/STB_EXPLODE" : "GEOM/NewEntity/EXPLODE",
"GEOM/STB_FEATURE_DETECTION" : "GEOM/NewEntity/FEATURE_DETECTION",
"GEOM/STB_PICTURE_IMPORT" : "GEOM/NewEntity/PICTURE_IMPORT",
"GEOM/STB_CURVE_CREATOR" : "GEOM/NewEntity/Basic/CURVE_CREATOR",
"GEOM/STB_EDGE" : "GEOM/NewEntity/Build/EDGE",
"GEOM/STB_WIRE" : "GEOM/NewEntity/Build/WIRE",
"GEOM/STB_FACE" : "GEOM/NewEntity/Build/FACE",
"GEOM/STB_SHELL" : "GEOM/NewEntity/Build/SHELL",
"GEOM/STB_SOLID" : "GEOM/NewEntity/Build/SOLID",
"GEOM/STB_COMPOUND" : "GEOM/NewEntity/Build/COMPOUND",
"GEOM/STB_FUSE" : "GEOM/Operations/Boolean/FUSE",
"GEOM/STB_COMMON" : "GEOM/Operations/Boolean/COMMON",
"GEOM/STB_CUT" : "GEOM/Operations/Boolean/CUT",
"GEOM/STB_SECTION" : "GEOM/Operations/Boolean/SECTION",
"GEOM/STB_TRANSLATION" : "GEOM/Operations/Transformation/TRANSLATION",
"GEOM/STB_ROTATION" : "GEOM/Operations/Transformation/ROTATION",
"GEOM/STB_MODIFY_LOCATION" : "GEOM/Operations/Transformation/MODIFY_LOCATION",
"GEOM/STB_MIRROR" : "GEOM/Operations/Transformation/MIRROR",
"GEOM/STB_SCALE" : "GEOM/Operations/Transformation/SCALE",
"GEOM/STB_OFFSET" : "GEOM/Operations/Transformation/OFFSET",
"GEOM/STB_PROJECTION" : "GEOM/Operations/Transformation/PROJECTION",
"GEOM/STB_PROJ_ON_CYL" : "GEOM/Operations/Transformation/PROJ_ON_CYL",
"GEOM/STB_MUL_TRANSLATION" : "GEOM/Operations/Transformation/MUL_TRANSLATION",
"GEOM/STB_MUL_ROTATION" : "GEOM/Operations/Transformation/MUL_ROTATION",
"GEOM/STB_EXTENSION" : "GEOM/Operations/Transformation/EXTENSION",
"GEOM/STB_PARTITION" : "GEOM/Operations/PARTITION",
"GEOM/STB_ARCHIMEDE" : "GEOM/Operations/ARCHIMEDE",
"GEOM/STB_FILLET" : "GEOM/Operations/FILLET",
"GEOM/STB_CHAMFER" : "GEOM/Operations/CHAMFER",
"GEOM/STB_GET_SHAPES_ON_SHAPE" : "GEOM/Operations/GET_SHAPES_ON_SHAPE",
"GEOM/STB_GET_SHARED_SHAPES" : "GEOM/Operations/GET_SHARED_SHAPES",
"GEOM/STB_TRANSFER_DATA" : "GEOM/Operations/TRANSFER_DATA",
"GEOM/STB_EXTRACTION" : "GEOM/Operations/EXTRACTION",
"GEOM/STB_EXTRUDED_CUT" : "GEOM/Operations/EXTRUDED_CUT",
"GEOM/STB_EXTRUDED_BOSS" : "GEOM/Operations/EXTRUDED_BOSS",
"GEOM/STB_FILLET_1D" : "GEOM/Operations/FILLET_1D",
"GEOM/STB_FILLET_2D" : "GEOM/Operations/FILLET_2D",
"GEOM/STB_MUL_TRANSFORM" : "GEOM/Operations/Blocks/MUL_TRANSFORM",
"GEOM/STB_EXPLODE_BLOCKS" : "GEOM/Operations/Blocks/EXPLODE_BLOCKS",
"GEOM/STB_PROPAGATE" : "GEOM/Operations/Blocks/PROPAGATE",
"GEOM/STB_SEWING" : "GEOM/Repair/SEWING",
"GEOM/STB_GLUE_FACES" : "GEOM/Repair/GLUE_FACES",
"GEOM/STB_GLUE_EDGES" : "GEOM/Repair/GLUE_EDGES",
"GEOM/STB_LIMIT_TOLERANCE" : "GEOM/Repair/LIMIT_TOLERANCE",
"GEOM/STB_SUPPRESS_FACES" : "GEOM/Repair/SUPPRESS_FACES",
"GEOM/STB_SUPPERSS_HOLES" : "GEOM/Repair/SUPPERSS_HOLES",
"GEOM/STB_SHAPE_PROCESS" : "GEOM/Repair/SHAPE_PROCESS",
"GEOM/STB_CLOSE_CONTOUR" : "GEOM/Repair/CLOSE_CONTOUR",
"GEOM/STB_SUPPRESS_INT_WIRES" : "GEOM/Repair/SUPPRESS_INT_WIRES",
"GEOM/STB_POINT_ON_EDGE" : "GEOM/Repair/POINT_ON_EDGE",
"GEOM/STB_CHECK_FREE_BNDS" : "GEOM/Repair/CHECK_FREE_BNDS",
"GEOM/STB_CHECK_FREE_FACES" : "GEOM/Repair/CHECK_FREE_FACES",
"GEOM/STB_CHANGE_ORIENTATION" : "GEOM/Repair/CHANGE_ORIENTATION",
"GEOM/STB_REMOVE_WEBS" : "GEOM/Repair/REMOVE_WEBS",
"GEOM/STB_REMOVE_EXTRA_EDGES" : "GEOM/Repair/REMOVE_EXTRA_EDGES",
"GEOM/STB_FUSE_EDGES" : "GEOM/Repair/FUSE_EDGES",
"GEOM/STB_UNION_FACES" : "GEOM/Repair/UNION_FACES",
"GEOM/STB_INSPECT_OBJECT" : "GEOM/Repair/INSPECT_OBJECT",
"GEOM/STB_POINT_COORDS" : "GEOM/Inspection/POINT_COORDS",
"GEOM/STB_BASIC_PROPS" : "GEOM/Inspection/BASIC_PROPS",
"GEOM/STB_MASS_CENTER" : "GEOM/Inspection/MASS_CENTER",
"GEOM/STB_INERTIA" : "GEOM/Inspection/INERTIA",
"GEOM/STB_NORMALE" : "GEOM/Inspection/NORMALE",
"GEOM/STB_BND_BOX" : "GEOM/Inspection/Dimensions/BND_BOX",
"GEOM/STB_MIN_DIST" : "GEOM/Inspection/Dimensions/MIN_DIST",
"GEOM/STB_MEASURE_ANGLE" : "GEOM/Inspection/Dimensions/MEASURE_ANGLE",
"GEOM/STB_MANAGE_DIMENSIONS" : "GEOM/Inspection/Dimensions/MANAGE_DIMENSIONS",
"GEOM/STB_ANNOTATION" : "GEOM/Inspection/ANNOTATION",
"GEOM/STB_EDIT_ANNOTATION" : "GEOM/Inspection/ANNOTATION/EDIT_ANNOTATION",
"GEOM/STB_DELETE_ANNOTATION" : "GEOM/Inspection/ANNOTATION/DELETE_ANNOTATION",
"GEOM/STB_TOLERANCE" : "GEOM/Inspection/TOLERANCE",
"GEOM/STB_WHAT_IS" : "GEOM/Inspection/WHAT_IS",
"GEOM/STB_CHECK" : "GEOM/Inspection/CHECK",
"GEOM/STB_CHECK_COMPOUND" : "GEOM/Inspection/CHECK_COMPOUND",
"GEOM/STB_GET_NON_BLOCKS" : "GEOM/Inspection/GET_NON_BLOCKS",
"GEOM/STB_CHECK_SELF_INTERSECTIONS" : "GEOM/Inspection/CHECK_SELF_INTERSECTIONS",
"GEOM/STB_FAST_CHECK_INTERSECTIONS" : "GEOM/Inspection/FAST_CHECK_INTERSECTIONS",
"GEOM/STB_SHAPE_STATISTICS" : "GEOM/Inspection/SHAPE_STATISTICS",
"GEOM/STB_MATERIALS_LIBRARY" : "GEOM/Tools/MATERIALS_LIBRARY",
"GEOM/STB_WIREFRAME" : "GEOM/View/DisplayMode/WIREFRAME",
"GEOM/STB_SHADING" : "GEOM/View/DisplayMode/SHADING",
"GEOM/STB_SHADING_WITH_EDGES" : "GEOM/View/DisplayMode/SHADING_WITH_EDGES",
"GEOM/STB_TEXTURE" : "GEOM/View/DisplayMode/TEXTURE",
"GEOM/STB_DISPLAY_ALL" : "GEOM/View/DISPLAY_ALL",
"GEOM/STB_ERASE_ALL" : "GEOM/View/ERASE_ALL",
"GEOM/STB_DISPLAY" : "GEOM/View/DISPLAY",
"GEOM/STB_VECTOR_MODE" : "GEOM/View/DisplayMode/VECTOR_MODE",
"GEOM/STB_VERTICES_MODE" : "GEOM/View/DisplayMode/VERTICES_MODE",
"GEOM/STB_NAME_MODE" : "GEOM/View/DisplayMode/NAME_MODE",
"GEOM/STB_VERTEX_SEL_ONLY" : "GEOM/Selection/VERTEX_SEL_ONLY",
"GEOM/STB_EDGE_SEL_ONLY" : "GEOM/Selection/EDGE_SEL_ONLY",
"GEOM/STB_WIRE_SEL_ONLY" : "GEOM/Selection/WIRE_SEL_ONLY",
"GEOM/STB_FACE_SEL_ONLY" : "GEOM/Selection/FACE_SEL_ONLY",
"GEOM/STB_SHELL_SEL_ONLY" : "GEOM/Selection/SHELL_SEL_ONLY",
"GEOM/STB_SOLID_SEL_ONLY" : "GEOM/Selection/SOLID_SEL_ONLY",
"GEOM/STB_COMPOUND_SEL_ONLY" : "GEOM/Selection/COMPOUND_SEL_ONLY",
"GEOM/STB_ALL_SEL_ONLY" : "GEOM/Selection/ALL_SEL_ONLY",
"GEOM/STB_DISPLAY_ONLY" : "GEOM/View/DISPLAY_ONLY",
"GEOM/STB_SHOW_ONLY_CHILDREN" : "GEOM/View/SHOW_ONLY_CHILDREN",
"GEOM/STB_BRING_TO_FRONT" : "GEOM/View/BRING_TO_FRONT",
"GEOM/STB_CLS_BRING_TO_FRONT" : "GEOM/View/CLS_BRING_TO_FRONT",
"GEOM/STB_ERASE" : "GEOM/View/ERASE",
"GEOM/STB_POP_WIREFRAME" : "GEOM/Selection/DisplayMode/POP_WIREFRAME",
"GEOM/STB_POP_SHADING" : "GEOM/Selection/DisplayMode/POP_SHADING",
"GEOM/STB_POP_SHADING_WITH_EDGES" : "GEOM/Selection/DisplayMode/POP_SHADING_WITH_EDGES",
"GEOM/STB_POP_TEXTURE" : "GEOM/Selection/DisplayMode/POP_TEXTURE",
"GEOM/STB_EDGE_WIDTH" : "GEOM/Selection/EDGE_WIDTH",
"GEOM/STB_ISOS_WIDTH" : "GEOM/Selection/ISOS_WIDTH",
"GEOM/STB_POP_VECTORS" : "GEOM/Selection/DisplayMode/POP_VECTORS",
"GEOM/STB_POP_VERTICES" : "GEOM/Selection/DisplayMode/POP_VERTICES",
"GEOM/STB_POP_SHOW_NAME" : "GEOM/Selection/DisplayMode/POP_SHOW_NAME",
"GEOM/STB_POP_DEFLECTION" : "GEOM/Selection/POP_DEFLECTION",
"GEOM/STB_POP_COLOR" : "GEOM/Selection/POP_COLOR",
"GEOM/STB_POP_SETTEXTURE" : "GEOM/Selection/POP_SETTEXTURE",
"GEOM/STB_POP_TRANSPARENCY" : "GEOM/Selection/POP_TRANSPARENCY",
"GEOM/STB_POP_ISOS" : "GEOM/Selection/POP_ISOS",
"GEOM/STB_POP_AUTO_COLOR" : "GEOM/Selection/POP_AUTO_COLOR",
"GEOM/STB_POP_DISABLE_AUTO_COLOR" : "GEOM/Selection/POP_DISABLE_AUTO_COLOR",
"GEOM/STB_POP_CREATE_GROUP" : "GEOM/Selection/POP_CREATE_GROUP",
"GEOM/STB_POP_EDIT_FIELD" : "GEOM/Selection/POP_EDIT_FIELD",
"GEOM/STB_POP_DISCLOSE_CHILDREN" : "GEOM/Selection/POP_DISCLOSE_CHILDREN",
"GEOM/STB_POP_CONCEAL_CHILDREN" : "GEOM/Selection/POP_CONCEAL_CHILDREN",
"GEOM/STB_POP_UNPUBLISH_OBJ" : "GEOM/Selection/POP_UNPUBLISH_OBJ",
"GEOM/STB_POP_PUBLISH_OBJ" : "GEOM/Selection/POP_PUBLISH_OBJ",
"GEOM/STB_POP_POINT_MARKER" : "GEOM/Selection/POP_POINT_MARKER",
"GEOM/STB_POP_MATERIAL_PROPERTIES" : "GEOM/Selection/POP_MATERIAL_PROPERTIES",
"GEOM/STB_POP_PREDEF_MATER_CUSTOM" : "GEOM/Selection/POP_PREDEF_MATER_CUSTOM",
"GEOM/STB_POP_CREATE_FOLDER" : "GEOM/Selection/POP_CREATE_FOLDER",
"GEOM/STB_POP_SORT_CHILD_ITEMS" : "GEOM/Selection/POP_SORT_CHILD_ITEMS",
"GEOM/STB_POP_SHOW_DEPENDENCY_TREE" : "GEOM/Selection/POP_SHOW_DEPENDENCY_TREE",
"GEOM/STB_POP_REDUCE_STUDY" : "GEOM/Selection/POP_REDUCE_STUDY",
"GEOM/STB_POP_SHOW_ALL_DIMENSIONS" : "GEOM/Selection/POP_SHOW_ALL_DIMENSIONS",
"GEOM/STB_POP_HIDE_ALL_DIMENSIONS" : "GEOM/Selection/POP_HIDE_ALL_DIMENSIONS",
"GEOM/STB_POP_SHOW_ALL_ANNOTATIONS" : "GEOM/Selection/POP_SHOW_ALL_ANNOTATIONS",
"GEOM/STB_POP_HIDE_ALL_ANNOTATIONS" : "GEOM/Selection/POP_HIDE_ALL_ANNOTATIONS"
}
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 B

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2013-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2013-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2013-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2013-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public
@ -25,6 +25,7 @@ INCLUDE_DIRECTORIES(
${PTHREAD_INCLUDE_DIR} ${PTHREAD_INCLUDE_DIR}
${OpenCASCADE_INCLUDE_DIR} ${OpenCASCADE_INCLUDE_DIR}
${KERNEL_INCLUDE_DIRS} ${KERNEL_INCLUDE_DIRS}
${CommonGeomLib_INCLUDE_DIRS}
${PROJECT_SOURCE_DIR}/src/GEOMImpl ${PROJECT_SOURCE_DIR}/src/GEOMImpl
${PROJECT_SOURCE_DIR}/src/GEOM ${PROJECT_SOURCE_DIR}/src/GEOM
${PROJECT_SOURCE_DIR}/src/GEOMAlgo ${PROJECT_SOURCE_DIR}/src/GEOMAlgo

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2013-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2013-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
// Copyright (C) 2013-2023 CEA, EDF, OPEN CASCADE // Copyright (C) 2013-2024 CEA, EDF, OPEN CASCADE
// //
// This library is free software; you can redistribute it and/or // This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public // modify it under the terms of the GNU Lesser General Public

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2023 CEA, EDF, OPEN CASCADE # Copyright (C) 2012-2024 CEA, EDF, OPEN CASCADE
# #
# This library is free software; you can redistribute it and/or # This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public # modify it under the terms of the GNU Lesser General Public

Some files were not shown because too many files have changed in this diff Show More