mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-18 14:27:39 +03:00
Compare commits
19 Commits
CR32833
...
IR-2022-06
Author | SHA1 | Date | |
---|---|---|---|
|
24e4b3c83b | ||
|
10a19b2a75 | ||
|
d30f25e6b1 | ||
|
cec41bb93d | ||
|
e9c43fee29 | ||
|
812afe4edb | ||
|
48e4aad412 | ||
|
23c56fc66a | ||
|
795c0d5d73 | ||
|
fbf9efb8d5 | ||
|
9b9aac4a7b | ||
|
86d6c284c2 | ||
|
84d39c06fa | ||
|
df69c26472 | ||
|
b56df3a60a | ||
|
dcbd679c8b | ||
|
b9280b8b27 | ||
|
2052b04e5b | ||
|
6036998511 |
@@ -119,6 +119,8 @@ android-g++ {
|
|||||||
# VS2015, vc141
|
# VS2015, vc141
|
||||||
} else:equals(aMsvcVer, 16.0){
|
} else:equals(aMsvcVer, 16.0){
|
||||||
# VS2019, vc142
|
# VS2019, vc142
|
||||||
|
} else:equals(aMsvcVer, 17.0){
|
||||||
|
# VS2022, vc143
|
||||||
} else {
|
} else {
|
||||||
warning (Unknown msvc version. "$$MY_COMPILER" is used)
|
warning (Unknown msvc version. "$$MY_COMPILER" is used)
|
||||||
}
|
}
|
||||||
|
@@ -23,6 +23,8 @@ if "%VCVER%" == "vc8" (
|
|||||||
call "%VS141COMNTOOLS%/vsvars32.bat" > nul
|
call "%VS141COMNTOOLS%/vsvars32.bat" > nul
|
||||||
) else if "%VCVER%" == "vc142" (
|
) else if "%VCVER%" == "vc142" (
|
||||||
call "%VS142COMNTOOLS%/vsvars32.bat" > nul
|
call "%VS142COMNTOOLS%/vsvars32.bat" > nul
|
||||||
|
) else if "%VCVER%" == "vc143" (
|
||||||
|
call "%VS143COMNTOOLS%/vsvars32.bat" > nul
|
||||||
) else (
|
) else (
|
||||||
echo Error: wrong VS identifier
|
echo Error: wrong VS identifier
|
||||||
exit /B
|
exit /B
|
||||||
|
@@ -74,6 +74,10 @@ if not "%DevEnvDir%" == "" (
|
|||||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||||
set "DevEnvDir=%%i\Common7\IDE\"
|
set "DevEnvDir=%%i\Common7\IDE\"
|
||||||
)
|
)
|
||||||
|
) else if /I "%VCFMT%" == "vc143" (
|
||||||
|
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||||
|
set "DevEnvDir=%%i\Common7\IDE\"
|
||||||
|
)
|
||||||
) else if /I "%VCFMT%" == "gcc" (
|
) else if /I "%VCFMT%" == "gcc" (
|
||||||
rem MinGW
|
rem MinGW
|
||||||
) else (
|
) else (
|
||||||
@@ -107,6 +111,11 @@ if /I "%VCFMT%" == "vc9" (
|
|||||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||||
)
|
)
|
||||||
set "VCPlatformToolSet=v142"
|
set "VCPlatformToolSet=v142"
|
||||||
|
) else if /I "%VCFMT%" == "vc143" (
|
||||||
|
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||||
|
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||||
|
)
|
||||||
|
set "VCPlatformToolSet=v142"
|
||||||
) else if /I "%VCFMT%" == "gcc" (
|
) else if /I "%VCFMT%" == "gcc" (
|
||||||
rem MinGW
|
rem MinGW
|
||||||
) else (
|
) else (
|
||||||
@@ -126,6 +135,7 @@ if ["%ARCH%"] == ["64"] set VCARCH=amd64
|
|||||||
|
|
||||||
if /I ["%1"] == ["vc141"] set "VCVER=vc14"
|
if /I ["%1"] == ["vc141"] set "VCVER=vc14"
|
||||||
if /I ["%1"] == ["vc142"] set "VCVER=vc14"
|
if /I ["%1"] == ["vc142"] set "VCVER=vc14"
|
||||||
|
if /I ["%1"] == ["vc143"] set "VCVER=vc14"
|
||||||
|
|
||||||
if exist "%CASROOT%\custom.bat" (
|
if exist "%CASROOT%\custom.bat" (
|
||||||
call "%CASROOT%\custom.bat" %VCVER% %ARCH% %CASDEB%
|
call "%CASROOT%\custom.bat" %VCVER% %ARCH% %CASDEB%
|
||||||
|
@@ -7,6 +7,7 @@ if exist "%~dp0custom.bat" (
|
|||||||
call "@INSTALL_DIR_ABSOLUTE@\@INSTALL_DIR_SCRIPT@\env.bat" %1 %2 %3
|
call "@INSTALL_DIR_ABSOLUTE@\@INSTALL_DIR_SCRIPT@\env.bat" %1 %2 %3
|
||||||
if /I ["%1"] == ["vc141"] set "VCVER=vc141"
|
if /I ["%1"] == ["vc141"] set "VCVER=vc141"
|
||||||
if /I ["%1"] == ["vc142"] set "VCVER=vc142"
|
if /I ["%1"] == ["vc142"] set "VCVER=vc142"
|
||||||
|
if /I ["%1"] == ["vc143"] set "VCVER=vc143"
|
||||||
set "BIN_DIR=win%ARCH%\%VCVER%\bind"
|
set "BIN_DIR=win%ARCH%\%VCVER%\bind"
|
||||||
set "LIB_DIR=win%ARCH%\%VCVER%\libd"
|
set "LIB_DIR=win%ARCH%\%VCVER%\libd"
|
||||||
|
|
||||||
|
@@ -23,6 +23,8 @@ if "%VCVER%" == "vc8" (
|
|||||||
call "%VS141COMNTOOLS%/vsvars32.bat" > nul
|
call "%VS141COMNTOOLS%/vsvars32.bat" > nul
|
||||||
) else if "%VCVER%" == "vc142" (
|
) else if "%VCVER%" == "vc142" (
|
||||||
call "%VS142COMNTOOLS%/vsvars32.bat" > nul
|
call "%VS142COMNTOOLS%/vsvars32.bat" > nul
|
||||||
|
) else if "%VCVER%" == "vc143" (
|
||||||
|
call "%VS143COMNTOOLS%/vsvars32.bat" > nul
|
||||||
) else (
|
) else (
|
||||||
echo Error: wrong VS identifier
|
echo Error: wrong VS identifier
|
||||||
exit /B
|
exit /B
|
||||||
|
@@ -324,6 +324,7 @@ The environment is defined in the file *custom.sh* (on Linux and macOS) or *cust
|
|||||||
| vc141-uwp | 2017 (15) | UWP (Universal Windows Platform) | vc14-uwp |
|
| vc141-uwp | 2017 (15) | UWP (Universal Windows Platform) | vc14-uwp |
|
||||||
| vc142 | 2019 (16) | Desktop (Windows API) | vc14 |
|
| vc142 | 2019 (16) | Desktop (Windows API) | vc14 |
|
||||||
| vc142-uwp | 2019 (16) | UWP (Universal Windows Platform) | vc14-uwp |
|
| vc142-uwp | 2019 (16) | UWP (Universal Windows Platform) | vc14-uwp |
|
||||||
|
| vc143 | 2022 (17) | Desktop (Windows API) | vc14 |
|
||||||
|
|
||||||
Alternatively, you can launch **genconf**, a GUI tool allowing to configure build options interactively.
|
Alternatively, you can launch **genconf**, a GUI tool allowing to configure build options interactively.
|
||||||
That tool will analyze your environment and propose you to choose available options:
|
That tool will analyze your environment and propose you to choose available options:
|
||||||
|
@@ -462,7 +462,7 @@ To run any Open CASCADE Technology application you need to set the environment v
|
|||||||
|
|
||||||
You can define the environment variables with env.bat script located in the
|
You can define the environment variables with env.bat script located in the
|
||||||
$CASROOT folder. This script accepts two arguments to be used:
|
$CASROOT folder. This script accepts two arguments to be used:
|
||||||
the version of Visual Studio (vc12 -- vc142) and the architecture (win32 or win64).
|
the version of Visual Studio (vc12 -- vc143) and the architecture (win32 or win64).
|
||||||
|
|
||||||
The additional environment settings necessary for compiling OCCT libraries and samples
|
The additional environment settings necessary for compiling OCCT libraries and samples
|
||||||
by Microsoft Visual Studio can be set using script custom.bat located in the same folder.
|
by Microsoft Visual Studio can be set using script custom.bat located in the same folder.
|
||||||
|
@@ -94,6 +94,7 @@ The types of STEP representation entities that are recognized are:
|
|||||||
* geometrically_bounded_wireframe_shape_representation
|
* geometrically_bounded_wireframe_shape_representation
|
||||||
* geometrically_bounded_surface_shape_representation
|
* geometrically_bounded_surface_shape_representation
|
||||||
* hybrid representations (shape_representation containing models of different type)
|
* hybrid representations (shape_representation containing models of different type)
|
||||||
|
* tessellated_shape_representation
|
||||||
|
|
||||||
@subsubsection occt_step_2_2_3 Topological entities
|
@subsubsection occt_step_2_2_3 Topological entities
|
||||||
The types of STEP topological entities that can be translated are:
|
The types of STEP topological entities that can be translated are:
|
||||||
@@ -112,6 +113,7 @@ The types of STEP geometrical entities that can be translated are:
|
|||||||
* directions
|
* directions
|
||||||
* curves
|
* curves
|
||||||
* surfaces
|
* surfaces
|
||||||
|
* triangulations
|
||||||
|
|
||||||
For further information see 2.4 Mapping STEP entities to Open CASCADE Technology shapes.
|
For further information see 2.4 Mapping STEP entities to Open CASCADE Technology shapes.
|
||||||
|
|
||||||
@@ -337,7 +339,7 @@ Specifies preferred type of representation of the shape of the product, in case
|
|||||||
* 4 (GBSSR) -- Prefer GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION
|
* 4 (GBSSR) -- Prefer GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION
|
||||||
* 5 (FBSR) -- Prefer FACETTED_BREP_SHAPE_REPRESENTATION
|
* 5 (FBSR) -- Prefer FACETTED_BREP_SHAPE_REPRESENTATION
|
||||||
* 6 (EBWSR) -- Prefer EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION
|
* 6 (EBWSR) -- Prefer EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION
|
||||||
* 7 (GBWSR) -- Prefer GEOMETRICALLY_BOUNDED_WIREFRAME _SHAPE_REPRESENTATION
|
* 7 (GBWSR) -- Prefer GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION
|
||||||
|
|
||||||
When this option is not equal to 1, for products with multiple representations the representation having a type closest to the selected one in this list will be translated.
|
When this option is not equal to 1, for products with multiple representations the representation having a type closest to the selected one in this list will be translated.
|
||||||
|
|
||||||
@@ -447,6 +449,34 @@ of for each of the two "AXIS2_PLACEMENT_3D" entities referenced by it. as follow
|
|||||||
}
|
}
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
|
<h4>read.step.tessellated:</h4>
|
||||||
|
|
||||||
|
Boolean flag regulating translation of entities that define tessellated geometry:
|
||||||
|
|
||||||
|
* TESSELLATED_SHAPE_REPRESENTATION
|
||||||
|
* TESSELLATED_SHELL
|
||||||
|
* TESSELLATED_SOLID
|
||||||
|
* TRIANGULATED_FACE
|
||||||
|
* COMPLEX_TRIANGULATED_FACE
|
||||||
|
|
||||||
|
Tesselated geometry is attached to shapes as objects of <i>Poly_Triangulation</i> type using STEP links.
|
||||||
|
|
||||||
|
* 0 (Off) -- do not translate
|
||||||
|
* 1 (On) -- translate
|
||||||
|
* 2 (OnNoBRep) - tessellation is read only for entities for which there is no BRep representation
|
||||||
|
|
||||||
|
Read this parameter with:
|
||||||
|
~~~~{.cpp}
|
||||||
|
Standard_Integer ic = Interface_Static::IVal("read.step.tessellated");
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
Modify this parameter with:
|
||||||
|
~~~~{.cpp}
|
||||||
|
if(!Interface_Static::SetIVal("read.step.tessellated",1))
|
||||||
|
.. error ..
|
||||||
|
~~~~
|
||||||
|
Default value is 0 (On).
|
||||||
|
|
||||||
@subsubsection occt_step_2_3_4 Performing the STEP file translation
|
@subsubsection occt_step_2_3_4 Performing the STEP file translation
|
||||||
|
|
||||||
Perform the translation according to what you want to translate. You can choose either root entities (all or selected by the number of root), or select any entity by its number in the STEP file. There is a limited set of types of entities that can be used as starting entities for translation. Only the following entities are recognized as transferable:
|
Perform the translation according to what you want to translate. You can choose either root entities (all or selected by the number of root), or select any entity by its number in the STEP file. There is a limited set of types of entities that can be used as starting entities for translation. Only the following entities are recognized as transferable:
|
||||||
@@ -464,6 +494,11 @@ Perform the translation according to what you want to translate. You can choose
|
|||||||
* subtypes of face_surface (including advanced_face)
|
* subtypes of face_surface (including advanced_face)
|
||||||
* subtypes of shape_representation_relationship
|
* subtypes of shape_representation_relationship
|
||||||
* context_dependent_shape_representation
|
* context_dependent_shape_representation
|
||||||
|
* tessellated_shape_representation
|
||||||
|
* tessellated_shell
|
||||||
|
* tessellated_solid
|
||||||
|
* triangulated_face
|
||||||
|
* complex_triangulated_face
|
||||||
|
|
||||||
The following methods are used for translation:
|
The following methods are used for translation:
|
||||||
|
|
||||||
@@ -683,6 +718,10 @@ Not all entities defining the assembly structure in the STEP file are translated
|
|||||||
| | quasi_uniform_surface | Geom_BSplineSurface | |
|
| | quasi_uniform_surface | Geom_BSplineSurface | |
|
||||||
| | rectangular_composite_surface | TopoDS_Compound | Contains *TopoDS_Faces* |
|
| | rectangular_composite_surface | TopoDS_Compound | Contains *TopoDS_Faces* |
|
||||||
| | curve_bounded_surface | TopoDS_Face | |
|
| | curve_bounded_surface | TopoDS_Face | |
|
||||||
|
| Tessellations | tessellated_shell | TopoDS_Shell | |
|
||||||
|
| | tessellated_solid | TopoDS_Solid | |
|
||||||
|
| | triangulated_face | TopoDS_Face | Contains *Poly_Triangulation* |
|
||||||
|
| | complex_triangulated_face | TopoDS_Face | Contains *Poly_Triangulation* |
|
||||||
|
|
||||||
|
|
||||||
@subsection occt_step_2_5 Tolerance management
|
@subsection occt_step_2_5 Tolerance management
|
||||||
@@ -745,6 +784,7 @@ The following default tolerances are used when creating shapes and how they are
|
|||||||
* *StepToTopoDS_TranslatePolyLoop* constructs *TopoDS_Edges* in *TopoDS_Wire* with help of class *StepToTopoDS_TranslateEdge*. Their tolerances are not modified inside this method.
|
* *StepToTopoDS_TranslatePolyLoop* constructs *TopoDS_Edges* in *TopoDS_Wire* with help of class *StepToTopoDS_TranslateEdge*. Their tolerances are not modified inside this method.
|
||||||
* *StepToTopoDS_TranslateFace* constructs *TopoDS_Face* with the initial value of tolerance. *TopoDS_Wire* on *TopoDS_Face* is constructed with the help of classes *StepToTopoDS_TranslatePolyLoop, StepToTopoDS_TranslateEdgeLoop* or *StepToTopoDS_TranslateVertexLoop*.
|
* *StepToTopoDS_TranslateFace* constructs *TopoDS_Face* with the initial value of tolerance. *TopoDS_Wire* on *TopoDS_Face* is constructed with the help of classes *StepToTopoDS_TranslatePolyLoop, StepToTopoDS_TranslateEdgeLoop* or *StepToTopoDS_TranslateVertexLoop*.
|
||||||
* *StepToTopoDS_TranslateShell* calls *StepToTopoDS_TranslateFace::Init* for each face. This class does not modify the tolerance value.
|
* *StepToTopoDS_TranslateShell* calls *StepToTopoDS_TranslateFace::Init* for each face. This class does not modify the tolerance value.
|
||||||
|
* *StepToTopoDS_TranslateSolid* calls *StepToTopoDS_TranslateFace::Init* for each face. This class does not modify the tolerance value.
|
||||||
* *StepToTopoDS_TranslateCompositeCurve* constructs *TopoDS_Edges* in *TopoDS_Wire* with help of class *BRepAPI_MakeEdge* and have a tolerance 10-7. Pcurves from a STEP file are translated if they are present and if *read.surfacecurve.mode* is not -3. The connection between segments of a composite curve (edges in the wire) is provided by calling method *ShapeFix_Wire::FixConnected()\** with a precision equal to the initial value of tolerance.
|
* *StepToTopoDS_TranslateCompositeCurve* constructs *TopoDS_Edges* in *TopoDS_Wire* with help of class *BRepAPI_MakeEdge* and have a tolerance 10-7. Pcurves from a STEP file are translated if they are present and if *read.surfacecurve.mode* is not -3. The connection between segments of a composite curve (edges in the wire) is provided by calling method *ShapeFix_Wire::FixConnected()\** with a precision equal to the initial value of tolerance.
|
||||||
* *StepToTopoDS_TranslateCurveBoundedSurface* constructs *TopoDS_Face* with tolerance *Precision::Confusion()*. *TopoDS_Wire* on *TopoDS_Face* is constructed with the help of class *StepToTopoDS_TranslateCompositeCurve*. Missing pcurves are computed using projection algorithm with the help of method *ShapeFix_Face::FixPcurves()*. For resulting face method *ShapeFix::SameParameter()* is called. It calls standard *BRepLib::SameParameter* for each edge in each wire, which can either increase or decrease the tolerances of the edges and vertices. *SameParameter* writes the tolerance corresponding to the real deviation of pcurves from 3D curve which can be less or greater than the tolerance in a STEP file.
|
* *StepToTopoDS_TranslateCurveBoundedSurface* constructs *TopoDS_Face* with tolerance *Precision::Confusion()*. *TopoDS_Wire* on *TopoDS_Face* is constructed with the help of class *StepToTopoDS_TranslateCompositeCurve*. Missing pcurves are computed using projection algorithm with the help of method *ShapeFix_Face::FixPcurves()*. For resulting face method *ShapeFix::SameParameter()* is called. It calls standard *BRepLib::SameParameter* for each edge in each wire, which can either increase or decrease the tolerances of the edges and vertices. *SameParameter* writes the tolerance corresponding to the real deviation of pcurves from 3D curve which can be less or greater than the tolerance in a STEP file.
|
||||||
* *StepToTopoDS_Builder* a high level class. Its methods perform translation with the help of the classes listed above. If the value of *read.maxprecision.mode* is set to 1 then the tolerance of subshapes of the resulting shape is limited by 0 and *read.maxprecision.val*. Else this class does not change the tolerance value.
|
* *StepToTopoDS_Builder* a high level class. Its methods perform translation with the help of the classes listed above. If the value of *read.maxprecision.mode* is set to 1 then the tolerance of subshapes of the resulting shape is limited by 0 and *read.maxprecision.val*. Else this class does not change the tolerance value.
|
||||||
@@ -971,6 +1011,34 @@ if(!Interface_Static::SetIVal("write.step.vertex.mode",1))
|
|||||||
~~~~
|
~~~~
|
||||||
Default value is 0.
|
Default value is 0.
|
||||||
|
|
||||||
|
<h4>write.step.tessellated:</h4>
|
||||||
|
|
||||||
|
Boolean flag regulating writing of entities that define tessellated geometry:
|
||||||
|
|
||||||
|
* TESSELLATED_SHAPE_REPRESENTATION
|
||||||
|
* TESSELLATED_SHELL
|
||||||
|
* TESSELLATED_SOLID
|
||||||
|
* TRIANGULATED_FACE
|
||||||
|
|
||||||
|
Tesselated geometry is taken as objects of <i>Poly_Triangulation type</i> from the active <i>TopoDS_Face</i> triangulation.
|
||||||
|
|
||||||
|
* 0 (Off) -- do not write
|
||||||
|
* 1 (On) -- write
|
||||||
|
* 2 (OnNoBRep) - tessellation is written only for entities for which there is no BRep representation
|
||||||
|
|
||||||
|
Read this parameter with:
|
||||||
|
~~~~{.cpp}
|
||||||
|
Standard_Integer ic = Interface_Static::IVal("write.step.tessellated");
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
Modify this parameter with:
|
||||||
|
~~~~{.cpp}
|
||||||
|
if(!Interface_Static::SetIVal("write.step.tessellated",1))
|
||||||
|
.. error ..
|
||||||
|
~~~~
|
||||||
|
|
||||||
|
Default value is 2 (OnNoBep).
|
||||||
|
|
||||||
@subsubsection occt_step_3_3_3 Performing the Open CASCADE Technology shape translation
|
@subsubsection occt_step_3_3_3 Performing the Open CASCADE Technology shape translation
|
||||||
An OCCT shape can be translated to STEP using one of the following models (shape_representations):
|
An OCCT shape can be translated to STEP using one of the following models (shape_representations):
|
||||||
* manifold_solid_brep (advanced_brep_shape_representation)
|
* manifold_solid_brep (advanced_brep_shape_representation)
|
||||||
@@ -1094,6 +1162,7 @@ The table below describes STEP entities, which are created when the assembly str
|
|||||||
| | Geom_ToroidalSurface | toroidal_surface or degenerate_toroidal_surface | *degenerate_toroidal_surface* is produced if the minor radius is greater then the major one |
|
| | Geom_ToroidalSurface | toroidal_surface or degenerate_toroidal_surface | *degenerate_toroidal_surface* is produced if the minor radius is greater then the major one |
|
||||||
| | Geom_BezierSurface | b_spline_surface_with_knots | |
|
| | Geom_BezierSurface | b_spline_surface_with_knots | |
|
||||||
| | Geom_BsplineSurface | b_spline_surface_with_knots or rational_b_spline_surface | *rational_b_spline_surface* is produced if *Geom_BSplineSurface* is a rational Bspline |
|
| | Geom_BsplineSurface | b_spline_surface_with_knots or rational_b_spline_surface | *rational_b_spline_surface* is produced if *Geom_BSplineSurface* is a rational Bspline |
|
||||||
|
| Triangulations | Poly_Triangulation | *triangulated_face* is produced for face active triangulation | |
|
||||||
|
|
||||||
|
|
||||||
@subsection occt_step_3_5 Tolerance management
|
@subsection occt_step_3_5 Tolerance management
|
||||||
|
@@ -7,6 +7,7 @@ if exist "%~dp0custom.bat" (
|
|||||||
call "%CASROOT%\env.bat" %1 %2 %3
|
call "%CASROOT%\env.bat" %1 %2 %3
|
||||||
if /I ["%1"] == ["vc141"] set "VCVER=vc141"
|
if /I ["%1"] == ["vc141"] set "VCVER=vc141"
|
||||||
if /I ["%1"] == ["vc142"] set "VCVER=vc142"
|
if /I ["%1"] == ["vc142"] set "VCVER=vc142"
|
||||||
|
if /I ["%1"] == ["vc143"] set "VCVER=vc143"
|
||||||
set "BIN_DIR=win%ARCH%\%VCVER%\bind"
|
set "BIN_DIR=win%ARCH%\%VCVER%\bind"
|
||||||
set "LIB_DIR=win%ARCH%\%VCVER%\libd"
|
set "LIB_DIR=win%ARCH%\%VCVER%\libd"
|
||||||
|
|
||||||
|
@@ -362,7 +362,7 @@ void AIS_InteractiveContext::ObjectsForView (AIS_ListOfInteractive& theListOfIO
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(Graphic3d_ViewAffinity) anAffinity = myMainVwr->StructureManager()->ObjectAffinity (anObjIter.Key());
|
Handle(Graphic3d_ViewAffinity) anAffinity = anObjIter.Key()->ViewAffinity();
|
||||||
const Standard_Boolean isVisible = anAffinity->IsVisible (aViewId);
|
const Standard_Boolean isVisible = anAffinity->IsVisible (aViewId);
|
||||||
if (isVisible == theIsVisibleInView)
|
if (isVisible == theIsVisibleInView)
|
||||||
{
|
{
|
||||||
@@ -402,17 +402,9 @@ void AIS_InteractiveContext::SetViewAffinity (const Handle(AIS_InteractiveObject
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(Graphic3d_ViewAffinity) anAffinity = myMainVwr->StructureManager()->ObjectAffinity (theIObj);
|
Handle(Graphic3d_ViewAffinity) anAffinity = theIObj->ViewAffinity();
|
||||||
Handle(Graphic3d_CView) aViewImpl = theView->View();
|
Handle(Graphic3d_CView) aViewImpl = theView->View();
|
||||||
anAffinity->SetVisible (aViewImpl->Identification(), theIsVisible == Standard_True);
|
anAffinity->SetVisible (aViewImpl->Identification(), theIsVisible == Standard_True);
|
||||||
if (theIsVisible)
|
|
||||||
{
|
|
||||||
theView->View()->ChangeHiddenObjects()->Remove (theIObj.get());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
theView->View()->ChangeHiddenObjects()->Add (theIObj.get());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
@@ -445,7 +437,8 @@ void AIS_InteractiveContext::Display (const Handle(AIS_InteractiveObject)& theIO
|
|||||||
if (!myObjects.IsBound (theIObj))
|
if (!myObjects.IsBound (theIObj))
|
||||||
{
|
{
|
||||||
setObjectStatus (theIObj, PrsMgr_DisplayStatus_Displayed, theDispMode, theSelectionMode);
|
setObjectStatus (theIObj, PrsMgr_DisplayStatus_Displayed, theDispMode, theSelectionMode);
|
||||||
myMainVwr->StructureManager()->RegisterObject (theIObj);
|
theIObj->ViewAffinity()->SetVisible (true); // reset view affinity mask
|
||||||
|
myMainVwr->StructureManager()->RegisterObject (theIObj, theIObj->ViewAffinity());
|
||||||
myMainPM->Display(theIObj, theDispMode);
|
myMainPM->Display(theIObj, theDispMode);
|
||||||
if (theSelectionMode != -1)
|
if (theSelectionMode != -1)
|
||||||
{
|
{
|
||||||
@@ -521,7 +514,8 @@ void AIS_InteractiveContext::Load (const Handle(AIS_InteractiveObject)& theIObj,
|
|||||||
Standard_Integer aDispMode, aHiMod, aSelModeDef;
|
Standard_Integer aDispMode, aHiMod, aSelModeDef;
|
||||||
GetDefModes (theIObj, aDispMode, aHiMod, aSelModeDef);
|
GetDefModes (theIObj, aDispMode, aHiMod, aSelModeDef);
|
||||||
setObjectStatus (theIObj, PrsMgr_DisplayStatus_Erased, aDispMode, theSelMode != -1 ? theSelMode : aSelModeDef);
|
setObjectStatus (theIObj, PrsMgr_DisplayStatus_Erased, aDispMode, theSelMode != -1 ? theSelMode : aSelModeDef);
|
||||||
myMainVwr->StructureManager()->RegisterObject (theIObj);
|
theIObj->ViewAffinity()->SetVisible (true); // reset view affinity mask
|
||||||
|
myMainVwr->StructureManager()->RegisterObject (theIObj, theIObj->ViewAffinity());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register theIObj in the selection manager to prepare further activation of selection
|
// Register theIObj in the selection manager to prepare further activation of selection
|
||||||
@@ -1900,13 +1894,9 @@ void AIS_InteractiveContext::ClearGlobal (const Handle(AIS_InteractiveObject)& t
|
|||||||
mgrSelector->Remove (anObj);
|
mgrSelector->Remove (anObj);
|
||||||
|
|
||||||
setObjectStatus (theIObj, PrsMgr_DisplayStatus_None, -1, -1);
|
setObjectStatus (theIObj, PrsMgr_DisplayStatus_None, -1, -1);
|
||||||
|
theIObj->ViewAffinity()->SetVisible (true); // reset view affinity mask
|
||||||
myMainVwr->StructureManager()->UnregisterObject (theIObj);
|
myMainVwr->StructureManager()->UnregisterObject (theIObj);
|
||||||
|
|
||||||
for (V3d_ListOfViewIterator aDefViewIter (myMainVwr->DefinedViewIterator()); aDefViewIter.More(); aDefViewIter.Next())
|
|
||||||
{
|
|
||||||
aDefViewIter.Value()->View()->ChangeHiddenObjects()->Remove (theIObj.get());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!myLastPicked.IsNull())
|
if (!myLastPicked.IsNull())
|
||||||
{
|
{
|
||||||
if (myLastPicked->IsSameSelectable (theIObj))
|
if (myLastPicked->IsSameSelectable (theIObj))
|
||||||
@@ -2214,10 +2204,11 @@ void AIS_InteractiveContext::FitSelected (const Handle(V3d_View)& theView)
|
|||||||
//function : BoundingBoxOfSelection
|
//function : BoundingBoxOfSelection
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
Bnd_Box AIS_InteractiveContext::BoundingBoxOfSelection() const
|
Bnd_Box AIS_InteractiveContext::BoundingBoxOfSelection (const Handle(V3d_View)& theView) const
|
||||||
{
|
{
|
||||||
Bnd_Box aBndSelected;
|
Bnd_Box aBndSelected;
|
||||||
AIS_MapOfObjectOwners anObjectOwnerMap;
|
AIS_MapOfObjectOwners anObjectOwnerMap;
|
||||||
|
const Standard_Integer aViewId = !theView.IsNull() ? theView->View()->Identification() : -1;
|
||||||
for (AIS_NListOfEntityOwner::Iterator aSelIter (mySelection->Objects()); aSelIter.More(); aSelIter.Next())
|
for (AIS_NListOfEntityOwner::Iterator aSelIter (mySelection->Objects()); aSelIter.More(); aSelIter.Next())
|
||||||
{
|
{
|
||||||
const Handle(SelectMgr_EntityOwner)& anOwner = aSelIter.Value();
|
const Handle(SelectMgr_EntityOwner)& anOwner = aSelIter.Value();
|
||||||
@@ -2227,6 +2218,13 @@ Bnd_Box AIS_InteractiveContext::BoundingBoxOfSelection() const
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Handle(Graphic3d_ViewAffinity) anAffinity = anObj->ViewAffinity();
|
||||||
|
const Standard_Boolean isVisible = aViewId == -1 || anAffinity->IsVisible (aViewId);
|
||||||
|
if (!isVisible)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (anOwner == anObj->GlobalSelOwner())
|
if (anOwner == anObj->GlobalSelOwner())
|
||||||
{
|
{
|
||||||
Bnd_Box aTmpBnd;
|
Bnd_Box aTmpBnd;
|
||||||
@@ -2264,7 +2262,7 @@ void AIS_InteractiveContext::FitSelected (const Handle(V3d_View)& theView,
|
|||||||
const Standard_Real theMargin,
|
const Standard_Real theMargin,
|
||||||
const Standard_Boolean theToUpdate)
|
const Standard_Boolean theToUpdate)
|
||||||
{
|
{
|
||||||
Bnd_Box aBndSelected = BoundingBoxOfSelection();
|
Bnd_Box aBndSelected = BoundingBoxOfSelection (theView);
|
||||||
if (!aBndSelected.IsVoid())
|
if (!aBndSelected.IsVoid())
|
||||||
{
|
{
|
||||||
theView->FitAll (aBndSelected, theMargin, theToUpdate);
|
theView->FitAll (aBndSelected, theMargin, theToUpdate);
|
||||||
@@ -2674,12 +2672,10 @@ AIS_StatusOfDetection AIS_InteractiveContext::moveTo (const Handle(V3d_View)& th
|
|||||||
myDetectedSeq.Clear();
|
myDetectedSeq.Clear();
|
||||||
myLastActiveView = theView.get();
|
myLastActiveView = theView.get();
|
||||||
|
|
||||||
// preliminaires
|
// preliminaries
|
||||||
AIS_StatusOfDetection aStatus = AIS_SOD_Nothing;
|
AIS_StatusOfDetection aStatus = AIS_SOD_Nothing;
|
||||||
Standard_Boolean toUpdateViewer = Standard_False;
|
Standard_Boolean toUpdateViewer = Standard_False;
|
||||||
|
|
||||||
myFilters->SetDisabledObjects (theView->View()->HiddenObjects());
|
|
||||||
|
|
||||||
// filling of myAISDetectedSeq sequence storing information about detected AIS objects
|
// filling of myAISDetectedSeq sequence storing information about detected AIS objects
|
||||||
// (the objects must be AIS_Shapes)
|
// (the objects must be AIS_Shapes)
|
||||||
const Standard_Integer aDetectedNb = MainSelector()->NbPicked();
|
const Standard_Integer aDetectedNb = MainSelector()->NbPicked();
|
||||||
|
@@ -502,7 +502,10 @@ public: //! @name Selection management
|
|||||||
Standard_EXPORT AIS_StatusOfPick SelectDetected (const AIS_SelectionScheme theSelScheme = AIS_SelectionScheme_Replace);
|
Standard_EXPORT AIS_StatusOfPick SelectDetected (const AIS_SelectionScheme theSelScheme = AIS_SelectionScheme_Replace);
|
||||||
|
|
||||||
//! Returns bounding box of selected objects.
|
//! Returns bounding box of selected objects.
|
||||||
Standard_EXPORT Bnd_Box BoundingBoxOfSelection() const;
|
Standard_EXPORT Bnd_Box BoundingBoxOfSelection (const Handle(V3d_View)& theView) const;
|
||||||
|
|
||||||
|
Standard_DEPRECATED ("BoundingBoxOfSelection() should be called with View argument")
|
||||||
|
Bnd_Box BoundingBoxOfSelection() const { return BoundingBoxOfSelection (Handle(V3d_View)()); }
|
||||||
|
|
||||||
//! Sets list of owner selected/deselected using specified selection scheme.
|
//! Sets list of owner selected/deselected using specified selection scheme.
|
||||||
//! @param theOwners owners to change selection state
|
//! @param theOwners owners to change selection state
|
||||||
|
@@ -1071,7 +1071,7 @@ void AIS_Manipulator::HilightOwnerWithColor (const Handle(PrsMgr_PresentationMan
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
aPresentation->CStructure()->ViewAffinity = thePM->StructureManager()->ObjectAffinity (Handle(Standard_Transient) (this));
|
aPresentation->CStructure()->ViewAffinity = myViewAffinity;
|
||||||
|
|
||||||
if (anOwner->Mode() == AIS_MM_TranslationPlane)
|
if (anOwner->Mode() == AIS_MM_TranslationPlane)
|
||||||
{
|
{
|
||||||
|
@@ -1969,7 +1969,7 @@ gp_Pnt AIS_ViewController::GravityPoint (const Handle(AIS_InteractiveContext)& t
|
|||||||
void AIS_ViewController::FitAllAuto (const Handle(AIS_InteractiveContext)& theCtx,
|
void AIS_ViewController::FitAllAuto (const Handle(AIS_InteractiveContext)& theCtx,
|
||||||
const Handle(V3d_View)& theView)
|
const Handle(V3d_View)& theView)
|
||||||
{
|
{
|
||||||
const Bnd_Box aBoxSel = theCtx->BoundingBoxOfSelection();
|
const Bnd_Box aBoxSel = theCtx->BoundingBoxOfSelection (theView);
|
||||||
const double aFitMargin = 0.01;
|
const double aFitMargin = 0.01;
|
||||||
if (aBoxSel.IsVoid())
|
if (aBoxSel.IsVoid())
|
||||||
{
|
{
|
||||||
|
@@ -859,7 +859,7 @@ Standard_Boolean AIS_ViewCube::HasAnimation() const
|
|||||||
void AIS_ViewCube::viewFitAll (const Handle(V3d_View)& theView,
|
void AIS_ViewCube::viewFitAll (const Handle(V3d_View)& theView,
|
||||||
const Handle(Graphic3d_Camera)& theCamera)
|
const Handle(Graphic3d_Camera)& theCamera)
|
||||||
{
|
{
|
||||||
Bnd_Box aBndBox = myToFitSelected ? GetContext()->BoundingBoxOfSelection() : theView->View()->MinMaxValues();
|
Bnd_Box aBndBox = myToFitSelected ? GetContext()->BoundingBoxOfSelection (theView) : theView->View()->MinMaxValues();
|
||||||
if (aBndBox.IsVoid()
|
if (aBndBox.IsVoid()
|
||||||
&& myToFitSelected)
|
&& myToFitSelected)
|
||||||
{
|
{
|
||||||
@@ -1016,7 +1016,7 @@ void AIS_ViewCube::HilightOwnerWithColor (const Handle(PrsMgr_PresentationManage
|
|||||||
|
|
||||||
Handle(Prs3d_Presentation) aHiPrs = GetHilightPresentation (thePrsMgr);
|
Handle(Prs3d_Presentation) aHiPrs = GetHilightPresentation (thePrsMgr);
|
||||||
aHiPrs->Clear();
|
aHiPrs->Clear();
|
||||||
aHiPrs->CStructure()->ViewAffinity = thePrsMgr->StructureManager()->ObjectAffinity (Handle(Standard_Transient)(this));
|
aHiPrs->CStructure()->ViewAffinity = myViewAffinity;
|
||||||
aHiPrs->SetTransformPersistence (TransformPersistence());
|
aHiPrs->SetTransformPersistence (TransformPersistence());
|
||||||
aHiPrs->SetZLayer (aLayer);
|
aHiPrs->SetZLayer (aLayer);
|
||||||
|
|
||||||
|
@@ -526,6 +526,8 @@ void Approx_SameParameter::Build(const Standard_Real Tolerance)
|
|||||||
}
|
}
|
||||||
myDone = Standard_True;
|
myDone = Standard_True;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
myCurveOnSurface = Handle(Adaptor3d_CurveOnSurface)::DownCast(aData.myCOnS.ShallowCopy());
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
@@ -81,6 +81,21 @@ public:
|
|||||||
return myCurve2d;
|
return myCurve2d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Returns the 3D curve that has the same parameter as
|
||||||
|
//! the 3D curve once evaluated on the surface up to the
|
||||||
|
//! specified tolerance.
|
||||||
|
Handle(Adaptor3d_Curve) Curve3d() const
|
||||||
|
{
|
||||||
|
return myC3d;
|
||||||
|
}
|
||||||
|
|
||||||
|
//! Returns the 3D curve on surface that has the same parameter as
|
||||||
|
//! the 3D curve up to the specified tolerance.
|
||||||
|
Handle(Adaptor3d_CurveOnSurface) CurveOnSurface() const
|
||||||
|
{
|
||||||
|
return myCurveOnSurface;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
//! Internal data structure to unify access to the most actively used data.
|
//! Internal data structure to unify access to the most actively used data.
|
||||||
@@ -176,6 +191,7 @@ private:
|
|||||||
Handle(Adaptor2d_Curve2d) myHCurve2d;
|
Handle(Adaptor2d_Curve2d) myHCurve2d;
|
||||||
Handle(Adaptor3d_Curve) myC3d;
|
Handle(Adaptor3d_Curve) myC3d;
|
||||||
Handle(Adaptor3d_Surface) mySurf;
|
Handle(Adaptor3d_Surface) mySurf;
|
||||||
|
Handle(Adaptor3d_CurveOnSurface) myCurveOnSurface;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _Approx_SameParameter_HeaderFile
|
#endif // _Approx_SameParameter_HeaderFile
|
||||||
|
@@ -31,13 +31,11 @@
|
|||||||
#include <BRepCheck_ListOfStatus.hxx>
|
#include <BRepCheck_ListOfStatus.hxx>
|
||||||
#include <BRepCheck_Wire.hxx>
|
#include <BRepCheck_Wire.hxx>
|
||||||
#include <BRepTools_WireExplorer.hxx>
|
#include <BRepTools_WireExplorer.hxx>
|
||||||
#include <BRepTools.hxx>
|
|
||||||
#include <ElCLib.hxx>
|
#include <ElCLib.hxx>
|
||||||
#include <Geom2d_Curve.hxx>
|
#include <Geom2d_Curve.hxx>
|
||||||
#include <Geom2dAdaptor_Curve.hxx>
|
#include <Geom2dAdaptor_Curve.hxx>
|
||||||
#include <Geom2dInt_GInter.hxx>
|
#include <Geom2dInt_GInter.hxx>
|
||||||
#include <Geom_Curve.hxx>
|
#include <Geom_Curve.hxx>
|
||||||
#include <Geom_RectangularTrimmedSurface.hxx>
|
|
||||||
#include <gp_Lin.hxx>
|
#include <gp_Lin.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <gp_Pnt2d.hxx>
|
#include <gp_Pnt2d.hxx>
|
||||||
@@ -116,11 +114,6 @@ static Standard_Boolean GetPnt2d(const TopoDS_Vertex &theVertex,
|
|||||||
const TopoDS_Edge &theEdge,
|
const TopoDS_Edge &theEdge,
|
||||||
const TopoDS_Face &theFace,
|
const TopoDS_Face &theFace,
|
||||||
gp_Pnt2d &aPnt);
|
gp_Pnt2d &aPnt);
|
||||||
|
|
||||||
static void DefinePeriods(const TopoDS_Face& theFace,
|
|
||||||
Standard_Real& theUperiod,
|
|
||||||
Standard_Real& theVperiod);
|
|
||||||
|
|
||||||
// Modified by Sergey KHROMOV - Wed May 22 10:44:08 2002 End
|
// Modified by Sergey KHROMOV - Wed May 22 10:44:08 2002 End
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
@@ -426,24 +419,12 @@ Standard_Boolean IsDistanceIn2DTolerance (const BRepAdaptor_Surface& aFaceSurfac
|
|||||||
const gp_Pnt2d& thePnt,
|
const gp_Pnt2d& thePnt,
|
||||||
const gp_Pnt2d& thePntRef,
|
const gp_Pnt2d& thePntRef,
|
||||||
const Standard_Real aTol3d,
|
const Standard_Real aTol3d,
|
||||||
const Standard_Boolean theIsOnSingularity,
|
|
||||||
#ifdef OCCT_DEBUG
|
#ifdef OCCT_DEBUG
|
||||||
const Standard_Boolean PrintWarnings = Standard_True)
|
const Standard_Boolean PrintWarnings = Standard_True)
|
||||||
#else
|
#else
|
||||||
const Standard_Boolean = Standard_True)
|
const Standard_Boolean = Standard_True)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
gp_Pnt aP;
|
|
||||||
gp_Vec aDU, aDV;
|
|
||||||
Standard_Real um = (thePnt.X() + thePntRef.X()) / 2.;
|
|
||||||
Standard_Real vm = (thePnt.Y() + thePntRef.Y()) / 2.;
|
|
||||||
aFaceSurface.D1(um, vm, aP, aDU, aDV);
|
|
||||||
Standard_Real aMDU = aDU.Magnitude();
|
|
||||||
Standard_Real aMDV = aDV.Magnitude();
|
|
||||||
if (!theIsOnSingularity ||
|
|
||||||
(aMDU > Precision::Confusion() && aMDV > Precision::Confusion()))
|
|
||||||
return Standard_True; //we are not in singularity
|
|
||||||
|
|
||||||
Standard_Real dumax = 0.01 * (aFaceSurface.LastUParameter() - aFaceSurface.FirstUParameter());
|
Standard_Real dumax = 0.01 * (aFaceSurface.LastUParameter() - aFaceSurface.FirstUParameter());
|
||||||
Standard_Real dvmax = 0.01 * (aFaceSurface.LastVParameter() - aFaceSurface.FirstVParameter());
|
Standard_Real dvmax = 0.01 * (aFaceSurface.LastVParameter() - aFaceSurface.FirstVParameter());
|
||||||
Standard_Real dumin = Abs(thePnt.X() - thePntRef.X());
|
Standard_Real dumin = Abs(thePnt.X() - thePntRef.X());
|
||||||
@@ -472,17 +453,17 @@ Standard_Boolean IsDistanceIn2DTolerance (const BRepAdaptor_Surface& aFaceSurfac
|
|||||||
#endif
|
#endif
|
||||||
dumax = aFaceSurface.UResolution(aTol3d);
|
dumax = aFaceSurface.UResolution(aTol3d);
|
||||||
dvmax = aFaceSurface.VResolution(aTol3d);
|
dvmax = aFaceSurface.VResolution(aTol3d);
|
||||||
//gp_Pnt aP;
|
gp_Pnt aP;
|
||||||
//gp_Vec aDU, aDV;
|
gp_Vec aDU, aDV;
|
||||||
//Standard_Real um = (thePnt.X() + thePntRef.X()) / 2.;
|
Standard_Real um = (thePnt.X() + thePntRef.X()) / 2.;
|
||||||
//Standard_Real vm = (thePnt.Y() + thePntRef.Y()) / 2.;
|
Standard_Real vm = (thePnt.Y() + thePntRef.Y()) / 2.;
|
||||||
//aFaceSurface.D1(um, vm, aP, aDU, aDV);
|
aFaceSurface.D1(um, vm, aP, aDU, aDV);
|
||||||
//Standard_Real aMDU = aDU.Magnitude();
|
Standard_Real aMDU = aDU.Magnitude();
|
||||||
if (aMDU > Precision::Confusion())
|
if (aMDU > Precision::Confusion())
|
||||||
{
|
{
|
||||||
dumax = Max((aTol3d / aMDU), dumax);
|
dumax = Max((aTol3d / aMDU), dumax);
|
||||||
}
|
}
|
||||||
//Standard_Real aMDV = aDV.Magnitude();
|
Standard_Real aMDV = aDV.Magnitude();
|
||||||
if (aMDV > Precision::Confusion())
|
if (aMDV > Precision::Confusion())
|
||||||
{
|
{
|
||||||
dvmax = Max((aTol3d / aMDV), dvmax);
|
dvmax = Max((aTol3d / aMDV), dvmax);
|
||||||
@@ -695,14 +676,7 @@ BRepCheck_Status BRepCheck_Wire::Closed2d(const TopoDS_Face& theFace,
|
|||||||
gp_Pnt aPntRef = BRep_Tool::Pnt(aFirstVertex);
|
gp_Pnt aPntRef = BRep_Tool::Pnt(aFirstVertex);
|
||||||
gp_Pnt aPnt = BRep_Tool::Pnt(aWireExp.CurrentVertex());
|
gp_Pnt aPnt = BRep_Tool::Pnt(aWireExp.CurrentVertex());
|
||||||
|
|
||||||
Standard_Real aUperiod = 0., aVperiod = 0.;
|
if (!(IsDistanceIn2DTolerance(aFaceSurface, aP_first, aP_last, aTol3d)))
|
||||||
DefinePeriods (theFace, aUperiod, aVperiod);
|
|
||||||
|
|
||||||
if ((aUperiod != 0. && Abs(aP_first.X() - aP_last.X()) > aUperiod/2) ||
|
|
||||||
(aVperiod != 0. && Abs(aP_first.Y() - aP_last.Y()) > aVperiod/2))
|
|
||||||
aClosedStat = BRepCheck_NotClosed;
|
|
||||||
|
|
||||||
if (!(IsDistanceIn2DTolerance(aFaceSurface, aP_first, aP_last, aTol3d, Standard_True)))
|
|
||||||
aClosedStat = BRepCheck_NotClosed;
|
aClosedStat = BRepCheck_NotClosed;
|
||||||
|
|
||||||
if(!IsDistanceIn3DTolerance(aPntRef, aPnt, aTol3d))
|
if(!IsDistanceIn3DTolerance(aPntRef, aPnt, aTol3d))
|
||||||
@@ -1736,20 +1710,6 @@ void ChoixUV(const TopoDS_Vertex& theVertex,
|
|||||||
if (aVOrientation != anEdgOrientation)
|
if (aVOrientation != anEdgOrientation)
|
||||||
aDerRef.Reverse();
|
aDerRef.Reverse();
|
||||||
|
|
||||||
//Check if there is a seam edge in the list
|
|
||||||
Standard_Real aUperiod = 0., aVperiod = 0.;
|
|
||||||
DefinePeriods (theFace, aUperiod, aVperiod);
|
|
||||||
Standard_Boolean anIsOnSingularity = Standard_False;
|
|
||||||
for (It.Initialize(theLOfShape); It.More(); It.Next())
|
|
||||||
{
|
|
||||||
TopoDS_Edge anEdge = TopoDS::Edge (It.Value());
|
|
||||||
if (BRep_Tool::Degenerated (anEdge))
|
|
||||||
{
|
|
||||||
anIsOnSingularity = Standard_True;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
It.Initialize(theLOfShape);
|
It.Initialize(theLOfShape);
|
||||||
|
|
||||||
for (; It.More(); It.Next())
|
for (; It.More(); It.Next())
|
||||||
@@ -1764,11 +1724,7 @@ void ChoixUV(const TopoDS_Vertex& theVertex,
|
|||||||
aParam =(aVOrientation != anE.Orientation()) ? aFirstParam : aLastParam;
|
aParam =(aVOrientation != anE.Orientation()) ? aFirstParam : aLastParam;
|
||||||
aPnt = aCA.Value(aParam);
|
aPnt = aCA.Value(aParam);
|
||||||
|
|
||||||
if ((aUperiod != 0. && Abs(aPnt.X() - aPntRef.X()) > aUperiod/2) ||
|
if(!IsDistanceIn2DTolerance(aFaceSurface, aPnt, aPntRef, aTol3d, Standard_False))
|
||||||
(aVperiod != 0. && Abs(aPnt.Y() - aPntRef.Y()) > aVperiod/2))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(!IsDistanceIn2DTolerance(aFaceSurface, aPnt, aPntRef, aTol3d, anIsOnSingularity, Standard_False))
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
CurveDirForParameter(aCA, aParam, aPnt, aDer);
|
CurveDirForParameter(aCA, aParam, aPnt, aDer);
|
||||||
@@ -1814,7 +1770,7 @@ void ChoixUV(const TopoDS_Vertex& theVertex,
|
|||||||
if(anEFound.IsNull() || BRep_Tool::Degenerated(theEdge) ||
|
if(anEFound.IsNull() || BRep_Tool::Degenerated(theEdge) ||
|
||||||
BRep_Tool::Degenerated(anEFound))
|
BRep_Tool::Degenerated(anEFound))
|
||||||
IsFound = Standard_False; //bad
|
IsFound = Standard_False; //bad
|
||||||
else if (!IsDistanceIn2DTolerance(aFaceSurface, aPnt, aPntRef, aTol3d, Standard_True))
|
else if (!IsDistanceIn2DTolerance(aFaceSurface, aPnt, aPntRef, aTol3d))
|
||||||
IsFound = Standard_False; //bad
|
IsFound = Standard_False; //bad
|
||||||
else
|
else
|
||||||
// clousureness in 3D
|
// clousureness in 3D
|
||||||
@@ -2003,20 +1959,3 @@ static Standard_Boolean IsClosed2dForPeriodicFace
|
|||||||
return Standard_True;
|
return Standard_True;
|
||||||
}
|
}
|
||||||
// Modified by Sergey KHROMOV - Thu Jun 20 10:58:05 2002 End
|
// Modified by Sergey KHROMOV - Thu Jun 20 10:58:05 2002 End
|
||||||
|
|
||||||
void DefinePeriods(const TopoDS_Face& theFace,
|
|
||||||
Standard_Real& theUperiod,
|
|
||||||
Standard_Real& theVperiod)
|
|
||||||
{
|
|
||||||
theUperiod = theVperiod = 0.;
|
|
||||||
|
|
||||||
Handle(Geom_Surface) aSurf = BRep_Tool::Surface (theFace);
|
|
||||||
if (aSurf->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface)))
|
|
||||||
aSurf = (Handle(Geom_RectangularTrimmedSurface)::DownCast(aSurf))->BasisSurface();
|
|
||||||
Standard_Real aUmin, aUmax, aVmin, aVmax;
|
|
||||||
aSurf->Bounds (aUmin, aUmax, aVmin, aVmax);
|
|
||||||
if (aSurf->IsUClosed())
|
|
||||||
theUperiod = aUmax - aUmin;
|
|
||||||
if (aSurf->IsVClosed())
|
|
||||||
theVperiod = aVmax - aVmin;
|
|
||||||
}
|
|
||||||
|
@@ -81,7 +81,7 @@ void BRepExtrema_ExtCF::Perform(const TopoDS_Edge& E, const TopoDS_Face& F2)
|
|||||||
|
|
||||||
BRepAdaptor_Curve Curv(E);
|
BRepAdaptor_Curve Curv(E);
|
||||||
Handle(BRepAdaptor_Curve) HC = new BRepAdaptor_Curve(Curv);
|
Handle(BRepAdaptor_Curve) HC = new BRepAdaptor_Curve(Curv);
|
||||||
myExtCS.Perform(HC->Curve(), U1, U2);
|
myExtCS.Perform(*HC, U1, U2);
|
||||||
|
|
||||||
if(!myExtCS.IsDone())
|
if(!myExtCS.IsDone())
|
||||||
return;
|
return;
|
||||||
|
@@ -987,8 +987,8 @@ Standard_Integer SensOfPrism(const Handle(Geom_Curve) C,
|
|||||||
ASI1.Perform(scur);
|
ASI1.Perform(scur);
|
||||||
Standard_Integer sens = 1;
|
Standard_Integer sens = 1;
|
||||||
if(ASI1.IsDone() && ASI1.NbPoints(1) >= 1) {
|
if(ASI1.IsDone() && ASI1.NbPoints(1) >= 1) {
|
||||||
if(ASI1.Point(1, 1).Parameter() < 0. &&
|
if(ASI1.Point(1, 1).Parameter() + Precision::Confusion() < 0. &&
|
||||||
ASI1.Point(1, ASI1.NbPoints(1)).Parameter() < 0.) {
|
ASI1.Point(1, ASI1.NbPoints(1)).Parameter() + Precision::Confusion() < 0.) {
|
||||||
sens = -1;
|
sens = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -85,6 +85,7 @@
|
|||||||
#include <TopTools_HArray2OfShape.hxx>
|
#include <TopTools_HArray2OfShape.hxx>
|
||||||
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
|
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
|
||||||
#include <TopTools_ListOfShape.hxx>
|
#include <TopTools_ListOfShape.hxx>
|
||||||
|
#include <GeomLib_CheckCurveOnSurface.hxx>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
//#include <BRepFill_TrimCorner.hxx>
|
//#include <BRepFill_TrimCorner.hxx>
|
||||||
@@ -289,6 +290,34 @@ static Standard_Boolean CheckSameParameter
|
|||||||
return Standard_True;
|
return Standard_True;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : CheckSameParameterExact
|
||||||
|
//purpose : Check a posteriori that sameparameter has worked correctly
|
||||||
|
// with exact calculation method of edge tolerance
|
||||||
|
//=======================================================================
|
||||||
|
static Standard_Boolean CheckSameParameterExact
|
||||||
|
(const Handle(Adaptor3d_Curve)& C3d,
|
||||||
|
const Handle(Adaptor3d_CurveOnSurface)& curveOnSurface,
|
||||||
|
const Standard_Real tol3d,
|
||||||
|
Standard_Real& tolreached)
|
||||||
|
{
|
||||||
|
GeomLib_CheckCurveOnSurface aCheckCurveOnSurface(C3d);
|
||||||
|
aCheckCurveOnSurface.SetParallel(Standard_False);
|
||||||
|
aCheckCurveOnSurface.Perform(curveOnSurface);
|
||||||
|
|
||||||
|
tolreached = aCheckCurveOnSurface.MaxDistance();
|
||||||
|
|
||||||
|
if (tolreached > tol3d) {
|
||||||
|
return Standard_False;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tolreached = Max(tolreached, Precision::Confusion());
|
||||||
|
tolreached *= 1.05;
|
||||||
|
}
|
||||||
|
return Standard_True;
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : SameParameter
|
//function : SameParameter
|
||||||
//purpose : Encapsulation of Sameparameter
|
//purpose : Encapsulation of Sameparameter
|
||||||
@@ -340,8 +369,10 @@ static Standard_Boolean SameParameter(TopoDS_Edge& E,
|
|||||||
return Standard_False;
|
return Standard_False;
|
||||||
}
|
}
|
||||||
|
|
||||||
ResTol = sp.TolReached();
|
Handle(Adaptor3d_Curve) curve3d = sp.Curve3d();
|
||||||
if(ResTol > tolreached ){
|
Handle(Adaptor3d_CurveOnSurface) curveOnSurface = sp.CurveOnSurface();
|
||||||
|
|
||||||
|
if (!CheckSameParameterExact(curve3d, curveOnSurface, tol3d, ResTol) && ResTol > tolreached) {
|
||||||
#ifdef OCCT_DEBUG
|
#ifdef OCCT_DEBUG
|
||||||
std::cout<<"SameParameter : Tolerance not reached!"<<std::endl;
|
std::cout<<"SameParameter : Tolerance not reached!"<<std::endl;
|
||||||
std::cout<<"tol visee : "<<tol3d<<" tol obtained : "<<ResTol<<std::endl;
|
std::cout<<"tol visee : "<<tol3d<<" tol obtained : "<<ResTol<<std::endl;
|
||||||
@@ -3253,7 +3284,7 @@ TopoDS_Shape BRepFill_Sweep::Tape(const Standard_Integer Index) const
|
|||||||
|
|
||||||
Tang = T1 + T2; //Average direction
|
Tang = T1 + T2; //Average direction
|
||||||
gp_Dir NormalOfBisPlane = Tang;
|
gp_Dir NormalOfBisPlane = Tang;
|
||||||
|
gp_Vec anIntersectPointCrossDirection = T1.Crossed(T2);
|
||||||
if (isTangent) {
|
if (isTangent) {
|
||||||
Sortant -= Tang.Dot(Tang)*Tang;
|
Sortant -= Tang.Dot(Tang)*Tang;
|
||||||
}
|
}
|
||||||
@@ -3300,7 +3331,7 @@ TopoDS_Shape BRepFill_Sweep::Tape(const Standard_Integer Index) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BRepFill_TrimShellCorner aTrim(aFaces, Transition, AxeOfBisPlane);
|
BRepFill_TrimShellCorner aTrim(aFaces, Transition, AxeOfBisPlane, anIntersectPointCrossDirection);
|
||||||
aTrim.AddBounds(Bounds);
|
aTrim.AddBounds(Bounds);
|
||||||
aTrim.AddUEdges(aUEdges);
|
aTrim.AddUEdges(aUEdges);
|
||||||
aTrim.AddVEdges(myVEdges, Index);
|
aTrim.AddVEdges(myVEdges, Index);
|
||||||
|
@@ -76,12 +76,14 @@ static Standard_Boolean FindCommonVertex(const TopoDS_Edge& theFirstEdge,
|
|||||||
static Standard_Boolean FindCommonVertex(const BOPDS_PDS& theDS,
|
static Standard_Boolean FindCommonVertex(const BOPDS_PDS& theDS,
|
||||||
const Standard_Integer theEIndex1,
|
const Standard_Integer theEIndex1,
|
||||||
const Standard_Integer theEIndex2,
|
const Standard_Integer theEIndex2,
|
||||||
|
const gp_Vec& theCrossDirection,
|
||||||
TopoDS_Vertex& theCommonVertex,
|
TopoDS_Vertex& theCommonVertex,
|
||||||
Standard_Real& theParamOnE1,
|
Standard_Real& theParamOnE1,
|
||||||
Standard_Real& theParamOnE2);
|
Standard_Real& theParamOnE2);
|
||||||
|
|
||||||
static Standard_Boolean SplitUEdges(const Handle(TopTools_HArray2OfShape)& theUEdges,
|
static Standard_Boolean SplitUEdges(const Handle(TopTools_HArray2OfShape)& theUEdges,
|
||||||
const BOPDS_PDS& theDS,
|
const BOPDS_PDS& theDS,
|
||||||
|
const gp_Vec& theCrossDirection,
|
||||||
TopTools_DataMapOfShapeListOfShape& theHistMap);
|
TopTools_DataMapOfShapeListOfShape& theHistMap);
|
||||||
|
|
||||||
static void StoreVedgeInHistMap(const Handle(TopTools_HArray1OfShape)& theVEdges,
|
static void StoreVedgeInHistMap(const Handle(TopTools_HArray1OfShape)& theVEdges,
|
||||||
@@ -194,9 +196,11 @@ static void UpdateSectionEdge(TopoDS_Edge& theEdge,
|
|||||||
// ===========================================================================================
|
// ===========================================================================================
|
||||||
BRepFill_TrimShellCorner::BRepFill_TrimShellCorner(const Handle(TopTools_HArray2OfShape)& theFaces,
|
BRepFill_TrimShellCorner::BRepFill_TrimShellCorner(const Handle(TopTools_HArray2OfShape)& theFaces,
|
||||||
const BRepFill_TransitionStyle theTransition,
|
const BRepFill_TransitionStyle theTransition,
|
||||||
const gp_Ax2& theAxeOfBisPlane) :
|
const gp_Ax2& theAxeOfBisPlane,
|
||||||
|
const gp_Vec& theIntPointCrossDir) :
|
||||||
myTransition(theTransition),
|
myTransition(theTransition),
|
||||||
myAxeOfBisPlane(theAxeOfBisPlane),
|
myAxeOfBisPlane(theAxeOfBisPlane),
|
||||||
|
myIntPointCrossDir(theIntPointCrossDir),
|
||||||
myDone(Standard_False),
|
myDone(Standard_False),
|
||||||
myHasSection(Standard_False)
|
myHasSection(Standard_False)
|
||||||
{
|
{
|
||||||
@@ -309,7 +313,7 @@ void BRepFill_TrimShellCorner::Perform()
|
|||||||
BOPDS_VectorOfInterfFF& aFFs = theDS->InterfFF();
|
BOPDS_VectorOfInterfFF& aFFs = theDS->InterfFF();
|
||||||
Standard_Integer aNbFFs = aFFs.Length();
|
Standard_Integer aNbFFs = aFFs.Length();
|
||||||
|
|
||||||
if(!SplitUEdges(myUEdges, theDS, myHistMap)) {
|
if(!SplitUEdges(myUEdges, theDS, myIntPointCrossDir, myHistMap)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,7 +429,7 @@ BRepFill_TrimShellCorner::MakeFacesNonSec(const Standard_Integer
|
|||||||
Standard_Real apar1 = 0., apar2 = 0.;
|
Standard_Real apar1 = 0., apar2 = 0.;
|
||||||
|
|
||||||
Standard_Boolean bvertexfound =
|
Standard_Boolean bvertexfound =
|
||||||
FindCommonVertex(theDS, anIndex1, anIndex2, aCommonVertex, apar1, apar2);
|
FindCommonVertex(theDS, anIndex1, anIndex2, myIntPointCrossDir, aCommonVertex, apar1, apar2);
|
||||||
// search common vertex between bounds. end
|
// search common vertex between bounds. end
|
||||||
|
|
||||||
Handle(BRepTools_ReShape) aSubstitutor = new BRepTools_ReShape();
|
Handle(BRepTools_ReShape) aSubstitutor = new BRepTools_ReShape();
|
||||||
@@ -697,9 +701,9 @@ BRepFill_TrimShellCorner::MakeFacesSec(const Standard_Integer
|
|||||||
|
|
||||||
TopoDS_Vertex FirstVertex, LastVertex;
|
TopoDS_Vertex FirstVertex, LastVertex;
|
||||||
Standard_Real ParamOnLeftE1, ParamOnLeftE2, ParamOnRightE1, ParamOnRightE2;
|
Standard_Real ParamOnLeftE1, ParamOnLeftE2, ParamOnRightE1, ParamOnRightE2;
|
||||||
FindCommonVertex(theDS, IndexOfLeftE1, IndexOfLeftE2,
|
FindCommonVertex(theDS, IndexOfLeftE1, IndexOfLeftE2, myIntPointCrossDir,
|
||||||
FirstVertex, ParamOnLeftE1, ParamOnLeftE2);
|
FirstVertex, ParamOnLeftE1, ParamOnLeftE2);
|
||||||
FindCommonVertex(theDS, IndexOfRightE1, IndexOfRightE2,
|
FindCommonVertex(theDS, IndexOfRightE1, IndexOfRightE2, myIntPointCrossDir,
|
||||||
LastVertex, ParamOnRightE1, ParamOnRightE2);
|
LastVertex, ParamOnRightE1, ParamOnRightE2);
|
||||||
|
|
||||||
TopoDS_Shape SecWire;
|
TopoDS_Shape SecWire;
|
||||||
@@ -1080,6 +1084,7 @@ Standard_Boolean BRepFill_TrimShellCorner::ChooseSection(const TopoDS_Shape& Com
|
|||||||
// ------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------
|
||||||
Standard_Boolean SplitUEdges(const Handle(TopTools_HArray2OfShape)& theUEdges,
|
Standard_Boolean SplitUEdges(const Handle(TopTools_HArray2OfShape)& theUEdges,
|
||||||
const BOPDS_PDS& theDS,
|
const BOPDS_PDS& theDS,
|
||||||
|
const gp_Vec& theCrossDirection,
|
||||||
TopTools_DataMapOfShapeListOfShape& theHistMap) {
|
TopTools_DataMapOfShapeListOfShape& theHistMap) {
|
||||||
|
|
||||||
const BOPDS_VectorOfInterfVV& aVVs = theDS->InterfVV();
|
const BOPDS_VectorOfInterfVV& aVVs = theDS->InterfVV();
|
||||||
@@ -1105,7 +1110,7 @@ Standard_Boolean SplitUEdges(const Handle(TopTools_HArray2OfShape)& theUEdge
|
|||||||
TopoDS_Vertex aCommonVertex;
|
TopoDS_Vertex aCommonVertex;
|
||||||
Standard_Real apar1 = 0., apar2 = 0.;
|
Standard_Real apar1 = 0., apar2 = 0.;
|
||||||
Standard_Boolean bvertexfound =
|
Standard_Boolean bvertexfound =
|
||||||
FindCommonVertex(theDS, anEIndex1, anEIndex2, aCommonVertex, apar1, apar2);
|
FindCommonVertex(theDS, anEIndex1, anEIndex2, theCrossDirection, aCommonVertex, apar1, apar2);
|
||||||
//
|
//
|
||||||
if(!bvertexfound) {
|
if(!bvertexfound) {
|
||||||
TopoDS_Vertex V1 = TopExp::LastVertex(TopoDS::Edge(aE1));
|
TopoDS_Vertex V1 = TopExp::LastVertex(TopoDS::Edge(aE1));
|
||||||
@@ -1217,6 +1222,7 @@ void FindFreeVertices(const TopoDS_Shape& theShape,
|
|||||||
Standard_Boolean FindCommonVertex(const BOPDS_PDS& theDS,
|
Standard_Boolean FindCommonVertex(const BOPDS_PDS& theDS,
|
||||||
const Standard_Integer theEIndex1,
|
const Standard_Integer theEIndex1,
|
||||||
const Standard_Integer theEIndex2,
|
const Standard_Integer theEIndex2,
|
||||||
|
const gp_Vec& theCrossDirection,
|
||||||
TopoDS_Vertex& theCommonVertex,
|
TopoDS_Vertex& theCommonVertex,
|
||||||
Standard_Real& theParamOnE1,
|
Standard_Real& theParamOnE1,
|
||||||
Standard_Real& theParamOnE2) {
|
Standard_Real& theParamOnE2) {
|
||||||
@@ -1227,6 +1233,10 @@ Standard_Boolean FindCommonVertex(const BOPDS_PDS& theDS,
|
|||||||
TopoDS_Vertex aCommonVertex;
|
TopoDS_Vertex aCommonVertex;
|
||||||
Standard_Integer eeit = 0;
|
Standard_Integer eeit = 0;
|
||||||
|
|
||||||
|
TopoDS_Edge theE1 = TopoDS::Edge(theDS->Shape(theEIndex1));
|
||||||
|
TopoDS_Edge theE2 = TopoDS::Edge(theDS->Shape(theEIndex2));
|
||||||
|
BRepAdaptor_Curve aBC1(theE1), aBC2(theE2);
|
||||||
|
|
||||||
Standard_Integer aNbEEs;
|
Standard_Integer aNbEEs;
|
||||||
aNbEEs = aEEs.Length();
|
aNbEEs = aEEs.Length();
|
||||||
for(eeit = 0; eeit < aNbEEs; ++eeit) {
|
for(eeit = 0; eeit < aNbEEs; ++eeit) {
|
||||||
@@ -1248,12 +1258,23 @@ Standard_Boolean FindCommonVertex(const BOPDS_PDS& theDS,
|
|||||||
else
|
else
|
||||||
IntTools_Tools::VertexParameters(aCP, theParamOnE2, theParamOnE1);
|
IntTools_Tools::VertexParameters(aCP, theParamOnE2, theParamOnE1);
|
||||||
|
|
||||||
//
|
gp_Pnt aPt;
|
||||||
|
gp_Vec aDirOnE1, aDirOnE2;
|
||||||
|
gp_Dir aIntersectPointCrossDir;
|
||||||
|
|
||||||
|
// intersect point aDirOnE1.cross(aDirOnE2) should same direction with path theCrossDirection
|
||||||
|
aBC1.D1(theParamOnE1, aPt, aDirOnE1);
|
||||||
|
aBC2.D1(theParamOnE2, aPt, aDirOnE2);
|
||||||
|
aIntersectPointCrossDir = aDirOnE1.Crossed(aDirOnE2);
|
||||||
|
|
||||||
|
if (aIntersectPointCrossDir.Dot(theCrossDirection) > Precision::SquareConfusion())
|
||||||
|
{
|
||||||
bvertexfound = Standard_True;
|
bvertexfound = Standard_True;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return bvertexfound;
|
return bvertexfound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -41,9 +41,12 @@ public:
|
|||||||
//! Constructor: takes faces to intersect,
|
//! Constructor: takes faces to intersect,
|
||||||
//! type of transition (it can be RightCorner or RoundCorner)
|
//! type of transition (it can be RightCorner or RoundCorner)
|
||||||
//! and axis of bisector plane
|
//! and axis of bisector plane
|
||||||
|
//! theIntersectPointCrossDirection : prev path direction at the origin point of theAxeOfBisPlane
|
||||||
|
//! cross next path direction at the origin point of theAxeOfBisPlane. used when EE has more than one vertices
|
||||||
Standard_EXPORT BRepFill_TrimShellCorner(const Handle(TopTools_HArray2OfShape)& theFaces,
|
Standard_EXPORT BRepFill_TrimShellCorner(const Handle(TopTools_HArray2OfShape)& theFaces,
|
||||||
const BRepFill_TransitionStyle theTransition,
|
const BRepFill_TransitionStyle theTransition,
|
||||||
const gp_Ax2& theAxeOfBisPlane);
|
const gp_Ax2& theAxeOfBisPlane,
|
||||||
|
const gp_Vec& theIntPointCrossDir);
|
||||||
|
|
||||||
Standard_EXPORT void AddBounds (const Handle(TopTools_HArray2OfShape)& Bounds);
|
Standard_EXPORT void AddBounds (const Handle(TopTools_HArray2OfShape)& Bounds);
|
||||||
|
|
||||||
@@ -92,6 +95,7 @@ private:
|
|||||||
|
|
||||||
BRepFill_TransitionStyle myTransition;
|
BRepFill_TransitionStyle myTransition;
|
||||||
gp_Ax2 myAxeOfBisPlane;
|
gp_Ax2 myAxeOfBisPlane;
|
||||||
|
gp_Vec myIntPointCrossDir;
|
||||||
TopoDS_Shape myShape1;
|
TopoDS_Shape myShape1;
|
||||||
TopoDS_Shape myShape2;
|
TopoDS_Shape myShape2;
|
||||||
Handle(TopTools_HArray2OfShape) myBounds;
|
Handle(TopTools_HArray2OfShape) myBounds;
|
||||||
|
@@ -57,6 +57,7 @@ static BRepOffsetAPI_ThruSections* Generator = 0;
|
|||||||
#include <Geom_Circle.hxx>
|
#include <Geom_Circle.hxx>
|
||||||
#include <gp_Ax2.hxx>
|
#include <gp_Ax2.hxx>
|
||||||
#include <Message.hxx>
|
#include <Message.hxx>
|
||||||
|
#include <ShapeUpgrade_UnifySameDomain.hxx>
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
// prism
|
// prism
|
||||||
@@ -533,16 +534,50 @@ Standard_Integer thrusections(Draw_Interpretor&, Standard_Integer n, const char*
|
|||||||
//=======================================================================
|
//=======================================================================
|
||||||
// mksweep
|
// mksweep
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
static Standard_Integer mksweep(Draw_Interpretor&,
|
static Standard_Integer mksweep(Draw_Interpretor& di,
|
||||||
Standard_Integer n, const char** a)
|
Standard_Integer n, const char** a)
|
||||||
{
|
{
|
||||||
if (n != 2) return 1;
|
if (n != 2 && n != 5) return 1;
|
||||||
TopoDS_Shape Spine = DBRep::Get(a[1], TopAbs_WIRE);
|
TopoDS_Shape Spine = DBRep::Get(a[1], TopAbs_WIRE);
|
||||||
if (Spine.IsNull()) return 1;
|
if (Spine.IsNull()) return 1;
|
||||||
if (Sweep != 0) {
|
if (Sweep != 0) {
|
||||||
delete Sweep;
|
delete Sweep;
|
||||||
Sweep = 0;
|
Sweep = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (n > 2 && n <= 5)
|
||||||
|
{
|
||||||
|
if (!strcmp(a[2], "-C"))
|
||||||
|
{
|
||||||
|
ShapeUpgrade_UnifySameDomain aUnif(Spine, Standard_True, Standard_False, Standard_True);
|
||||||
|
|
||||||
|
Standard_Real anAngTol = 5.;
|
||||||
|
Standard_Real aLinTol = 0.1;
|
||||||
|
|
||||||
|
if (n == 5)
|
||||||
|
{
|
||||||
|
anAngTol = Draw::Atof(a[3]);
|
||||||
|
aLinTol = Draw::Atof(a[4]);
|
||||||
|
}
|
||||||
|
|
||||||
|
aUnif.SetAngularTolerance(anAngTol * M_PI / 180.);
|
||||||
|
aUnif.SetLinearTolerance(aLinTol);
|
||||||
|
aUnif.Build();
|
||||||
|
Spine = aUnif.Shape();
|
||||||
|
if (BRepTest_Objects::IsHistoryNeeded())
|
||||||
|
{
|
||||||
|
BRepTest_Objects::SetHistory(aUnif.History());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
di << "To correct input spine use 'mksweep wire -C [AngTol LinTol]'\n";
|
||||||
|
di << "By default, AngTol = 5, LinTol = 0.1";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Sweep = new BRepOffsetAPI_MakePipeShell(TopoDS::Wire(Spine));
|
Sweep = new BRepOffsetAPI_MakePipeShell(TopoDS::Wire(Spine));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -1010,7 +1045,9 @@ void BRepTest::SweepCommands(Draw_Interpretor& theCommands)
|
|||||||
"\t\t-safe option allows to prevent the modifying of input shapes",
|
"\t\t-safe option allows to prevent the modifying of input shapes",
|
||||||
__FILE__, thrusections, g);
|
__FILE__, thrusections, g);
|
||||||
|
|
||||||
theCommands.Add("mksweep", "mksweep wire",
|
theCommands.Add("mksweep", "mksweep wire [-C [AngTol LinTol]]\n"
|
||||||
|
"\t\tthe option -C correct input spine by merging smooth connected neighboring edges\n"
|
||||||
|
"\t\tthe AngTol is in degrees",
|
||||||
__FILE__, mksweep, g);
|
__FILE__, mksweep, g);
|
||||||
|
|
||||||
theCommands.Add("setsweep", "setsweep no args to get help",
|
theCommands.Add("setsweep", "setsweep no args to get help",
|
||||||
|
@@ -54,29 +54,6 @@ static Standard_Real GetNextParamOnPC(const Handle(Geom2d_Curve)& aPC,
|
|||||||
const Standard_Real& tolV,
|
const Standard_Real& tolV,
|
||||||
const Standard_Boolean& reverse);
|
const Standard_Boolean& reverse);
|
||||||
|
|
||||||
static Standard_Real LocalUresol (const TopoDS_Vertex& theVertex,
|
|
||||||
const TopoDS_Face& theFace,
|
|
||||||
const gp_Pnt2d& theP2d1,
|
|
||||||
const gp_Pnt2d& theP2d2)
|
|
||||||
{
|
|
||||||
Standard_Real aResol = -1;
|
|
||||||
|
|
||||||
BRepAdaptor_Surface aBAsurf (theFace, Standard_False);
|
|
||||||
if (aBAsurf.GetType() == GeomAbs_Sphere)
|
|
||||||
{
|
|
||||||
Standard_Real aRadius = aBAsurf.Sphere().Radius();
|
|
||||||
Standard_Real aVmid = (theP2d1.Y() + theP2d2.Y())/2.;
|
|
||||||
Standard_Real aLocalRad = aRadius * Cos(aVmid);
|
|
||||||
if (aLocalRad > Precision::Confusion())
|
|
||||||
{
|
|
||||||
Standard_Real aTolVertex = BRep_Tool::Tolerance (theVertex);
|
|
||||||
aResol = aTolVertex / aLocalRad;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return aResol;
|
|
||||||
}
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : BRepTools_WireExplorer
|
//function : BRepTools_WireExplorer
|
||||||
//purpose :
|
//purpose :
|
||||||
@@ -625,11 +602,7 @@ void BRepTools_WireExplorer::Next()
|
|||||||
Standard_Real d = PRef.SquareDistance(aPEb);
|
Standard_Real d = PRef.SquareDistance(aPEb);
|
||||||
if( d <= Precision::PConfusion() )
|
if( d <= Precision::PConfusion() )
|
||||||
d = 0.;
|
d = 0.;
|
||||||
//jgv
|
if( Abs(aPEb.X()-PRef.X()) < myTolU && Abs(aPEb.Y()-PRef.Y()) < myTolV )
|
||||||
Standard_Real aLocalUresol = LocalUresol (myVertex, myFace, PRef, aPEb);
|
|
||||||
aLocalUresol = Max (aLocalUresol, myTolU);
|
|
||||||
/////
|
|
||||||
if( Abs(aPEb.X()-PRef.X()) < aLocalUresol && Abs(aPEb.Y()-PRef.Y()) < myTolV )
|
|
||||||
{
|
{
|
||||||
if( d <= dmin )
|
if( d <= dmin )
|
||||||
{
|
{
|
||||||
|
@@ -732,10 +732,13 @@ Standard_Boolean ChFi3d_IsInFront(TopOpeBRepDS_DataStructure& DStr,
|
|||||||
if(fd1->IndexOfS1() == fd2->IndexOfS1()) {
|
if(fd1->IndexOfS1() == fd2->IndexOfS1()) {
|
||||||
jf1 = 1; jf2 = 1;
|
jf1 = 1; jf2 = 1;
|
||||||
face = TopoDS::Face(DStr.Shape(fd1->Index(jf1)));
|
face = TopoDS::Face(DStr.Shape(fd1->Index(jf1)));
|
||||||
|
if (face.IsNull()) throw Standard_NullObject("ChFi3d_IsInFront : Trying to check orientation of NULL face");
|
||||||
OrSave1 = cd1->Orientation(jf1);
|
OrSave1 = cd1->Orientation(jf1);
|
||||||
Or = OrFace1 = face.Orientation();
|
Or = OrFace1 = face.Orientation();
|
||||||
OrSave2 = cd2->Orientation(jf2);
|
OrSave2 = cd2->Orientation(jf2);
|
||||||
OrFace2 = DStr.Shape(fd2->Index(jf2)).Orientation();
|
const TopoDS_Shape& shape2 = DStr.Shape(fd2->Index(jf2));
|
||||||
|
if (shape2.IsNull()) throw Standard_NullObject("ChFi3d_IsInFront : Trying to check orientation of NULL shape");
|
||||||
|
OrFace2 = shape2.Orientation();
|
||||||
visavis = Standard_True;
|
visavis = Standard_True;
|
||||||
sameside = ChFi3d::SameSide(Or,OrSave1,OrSave2,OrFace1,OrFace2);
|
sameside = ChFi3d::SameSide(Or,OrSave1,OrSave2,OrFace1,OrFace2);
|
||||||
// The parameters of the other side are not used for orientation. This would raise problems
|
// The parameters of the other side are not used for orientation. This would raise problems
|
||||||
@@ -753,10 +756,13 @@ Standard_Boolean ChFi3d_IsInFront(TopOpeBRepDS_DataStructure& DStr,
|
|||||||
if(fd1->IndexOfS2() == fd2->IndexOfS1()) {
|
if(fd1->IndexOfS2() == fd2->IndexOfS1()) {
|
||||||
jf1 = 2; jf2 = 1;
|
jf1 = 2; jf2 = 1;
|
||||||
face = TopoDS::Face(DStr.Shape(fd1->Index(jf1)));
|
face = TopoDS::Face(DStr.Shape(fd1->Index(jf1)));
|
||||||
|
if (face.IsNull()) throw Standard_NullObject("ChFi3d_IsInFront : Trying to check orientation of NULL face");
|
||||||
OrSave1 = cd1->Orientation(jf1);
|
OrSave1 = cd1->Orientation(jf1);
|
||||||
Or = OrFace1 = face.Orientation();
|
Or = OrFace1 = face.Orientation();
|
||||||
OrSave2 = cd2->Orientation(jf2);
|
OrSave2 = cd2->Orientation(jf2);
|
||||||
OrFace2 = DStr.Shape(fd2->Index(jf2)).Orientation();
|
const TopoDS_Shape& shape2 = DStr.Shape(fd2->Index(jf2));
|
||||||
|
if (shape2.IsNull()) throw Standard_NullObject("ChFi3d_IsInFront : Trying to check orientation of NULL shape");
|
||||||
|
OrFace2 = shape2.Orientation();
|
||||||
visavis = Standard_True;
|
visavis = Standard_True;
|
||||||
sameside = ChFi3d::SameSide(Or,OrSave1,OrSave2,OrFace1,OrFace2);
|
sameside = ChFi3d::SameSide(Or,OrSave1,OrSave2,OrFace1,OrFace2);
|
||||||
// The parameters of the other side are not used for orientation. This would raise problems
|
// The parameters of the other side are not used for orientation. This would raise problems
|
||||||
@@ -786,10 +792,13 @@ Standard_Boolean ChFi3d_IsInFront(TopOpeBRepDS_DataStructure& DStr,
|
|||||||
if(fd1->IndexOfS1() == fd2->IndexOfS2()) {
|
if(fd1->IndexOfS1() == fd2->IndexOfS2()) {
|
||||||
jf1 = 1; jf2 = 2;
|
jf1 = 1; jf2 = 2;
|
||||||
face = TopoDS::Face(DStr.Shape(fd1->Index(jf1)));
|
face = TopoDS::Face(DStr.Shape(fd1->Index(jf1)));
|
||||||
|
if (face.IsNull()) throw Standard_NullObject("ChFi3d_IsInFront : Trying to check orientation of NULL face");
|
||||||
OrSave1 = cd1->Orientation(jf1);
|
OrSave1 = cd1->Orientation(jf1);
|
||||||
Or = OrFace1 = face.Orientation();
|
Or = OrFace1 = face.Orientation();
|
||||||
OrSave2 = cd2->Orientation(jf2);
|
OrSave2 = cd2->Orientation(jf2);
|
||||||
OrFace2 = DStr.Shape(fd2->Index(jf2)).Orientation();
|
const TopoDS_Shape& shape2 = DStr.Shape(fd2->Index(jf2));
|
||||||
|
if (shape2.IsNull()) throw Standard_NullObject("ChFi3d_IsInFront : Trying to check orientation of NULL shape");
|
||||||
|
OrFace2 = shape2.Orientation();
|
||||||
visavis = Standard_True;
|
visavis = Standard_True;
|
||||||
sameside = ChFi3d::SameSide(Or,OrSave1,OrSave2,OrFace1,OrFace2);
|
sameside = ChFi3d::SameSide(Or,OrSave1,OrSave2,OrFace1,OrFace2);
|
||||||
// The parameters of the other side are not used for orientation.
|
// The parameters of the other side are not used for orientation.
|
||||||
@@ -819,10 +828,13 @@ Standard_Boolean ChFi3d_IsInFront(TopOpeBRepDS_DataStructure& DStr,
|
|||||||
if(fd1->IndexOfS2() == fd2->IndexOfS2()) {
|
if(fd1->IndexOfS2() == fd2->IndexOfS2()) {
|
||||||
jf1 = 2; jf2 = 2;
|
jf1 = 2; jf2 = 2;
|
||||||
face = TopoDS::Face(DStr.Shape(fd1->Index(jf1)));
|
face = TopoDS::Face(DStr.Shape(fd1->Index(jf1)));
|
||||||
|
if (face.IsNull()) throw Standard_NullObject("ChFi3d_IsInFront : Trying to check orientation of NULL face");
|
||||||
OrSave1 = cd1->Orientation(jf1);
|
OrSave1 = cd1->Orientation(jf1);
|
||||||
Or = OrFace1 = face.Orientation();
|
Or = OrFace1 = face.Orientation();
|
||||||
OrSave2 = cd2->Orientation(jf2);
|
OrSave2 = cd2->Orientation(jf2);
|
||||||
OrFace2 = DStr.Shape(fd2->Index(jf2)).Orientation();
|
const TopoDS_Shape& shape2 = DStr.Shape(fd2->Index(jf2));
|
||||||
|
if (shape2.IsNull()) throw Standard_NullObject("ChFi3d_IsInFront : Trying to check orientation of NULL shape");
|
||||||
|
OrFace2 = shape2.Orientation();
|
||||||
visavis = Standard_True;
|
visavis = Standard_True;
|
||||||
sameside = ChFi3d::SameSide(Or,OrSave1,OrSave2,OrFace1,OrFace2);
|
sameside = ChFi3d::SameSide(Or,OrSave1,OrSave2,OrFace1,OrFace2);
|
||||||
// The parameters of the other side are not used for orientation.
|
// The parameters of the other side are not used for orientation.
|
||||||
|
@@ -1645,6 +1645,13 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
|
|||||||
}
|
}
|
||||||
if (compoint1 && compoint2) {
|
if (compoint1 && compoint2) {
|
||||||
SeqFil.Remove(num);
|
SeqFil.Remove(num);
|
||||||
|
num = ChFi3d_IndexOfSurfData(Vtx,stripe,sens);
|
||||||
|
if (isfirst) {
|
||||||
|
num1=num+1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
num1=num-1;
|
||||||
|
}
|
||||||
reg1=Standard_False; reg2=Standard_False;
|
reg1=Standard_False; reg2=Standard_False;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2115,6 +2122,9 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
|
|||||||
F=Face[nb-1];
|
F=Face[nb-1];
|
||||||
if (!prolface[nb-1]) faceprol[nb-1]=F;
|
if (!prolface[nb-1]) faceprol[nb-1]=F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (F.IsNull()) throw Standard_NullObject("IntersectionAtEnd : Trying to intersect with NULL face");
|
||||||
|
|
||||||
Sfacemoins1=BRep_Tool::Surface(F);
|
Sfacemoins1=BRep_Tool::Surface(F);
|
||||||
Handle(Geom_Curve) cint;
|
Handle(Geom_Curve) cint;
|
||||||
Handle(Geom2d_Curve) C2dint1, C2dint2,cface,cfacemoins1;
|
Handle(Geom2d_Curve) C2dint1, C2dint2,cface,cfacemoins1;
|
||||||
|
@@ -436,15 +436,6 @@ void Cocoa_Window::InvalidateContent (const Handle(Aspect_DisplayConnection)& )
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ([NSThread isMainThread])
|
|
||||||
{
|
|
||||||
#if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
|
|
||||||
[myHView setNeedsDisplay];
|
|
||||||
#else
|
|
||||||
[myHView setNeedsDisplay: YES];
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
[myHView performSelectorOnMainThread: @selector(invalidateContentOcct:)
|
[myHView performSelectorOnMainThread: @selector(invalidateContentOcct:)
|
||||||
withObject: NULL
|
withObject: NULL
|
||||||
|
@@ -36,7 +36,6 @@ Graphic3d_CView::Graphic3d_CView (const Handle(Graphic3d_StructureManager)& theM
|
|||||||
//
|
//
|
||||||
myStructureManager (theMgr),
|
myStructureManager (theMgr),
|
||||||
myCamera (new Graphic3d_Camera()),
|
myCamera (new Graphic3d_Camera()),
|
||||||
myHiddenObjects (new Graphic3d_NMapOfTransient()),
|
|
||||||
myIsInComputedMode (Standard_False),
|
myIsInComputedMode (Standard_False),
|
||||||
myIsActive (Standard_False),
|
myIsActive (Standard_False),
|
||||||
myIsRemoved (Standard_False),
|
myIsRemoved (Standard_False),
|
||||||
|
@@ -134,12 +134,6 @@ public:
|
|||||||
//! Returns number of displayed structures in the view.
|
//! Returns number of displayed structures in the view.
|
||||||
virtual Standard_Integer NumberOfDisplayedStructures() const { return myStructsDisplayed.Extent(); }
|
virtual Standard_Integer NumberOfDisplayedStructures() const { return myStructsDisplayed.Extent(); }
|
||||||
|
|
||||||
//! Returns map of objects hidden within this specific view (not viewer-wise).
|
|
||||||
const Handle(Graphic3d_NMapOfTransient)& HiddenObjects() const { return myHiddenObjects; }
|
|
||||||
|
|
||||||
//! Returns map of objects hidden within this specific view (not viewer-wise).
|
|
||||||
Handle(Graphic3d_NMapOfTransient)& ChangeHiddenObjects() { return myHiddenObjects; }
|
|
||||||
|
|
||||||
//! Returns Standard_True in case if the structure with the given <theStructId> is
|
//! Returns Standard_True in case if the structure with the given <theStructId> is
|
||||||
//! in list of structures to be computed and stores computed struct to <theComputedStruct>.
|
//! in list of structures to be computed and stores computed struct to <theComputedStruct>.
|
||||||
Standard_EXPORT Standard_Boolean IsComputed (const Standard_Integer theStructId,
|
Standard_EXPORT Standard_Boolean IsComputed (const Standard_Integer theStructId,
|
||||||
@@ -649,7 +643,6 @@ protected:
|
|||||||
Graphic3d_SequenceOfStructure myStructsToCompute;
|
Graphic3d_SequenceOfStructure myStructsToCompute;
|
||||||
Graphic3d_SequenceOfStructure myStructsComputed;
|
Graphic3d_SequenceOfStructure myStructsComputed;
|
||||||
Graphic3d_MapOfStructure myStructsDisplayed;
|
Graphic3d_MapOfStructure myStructsDisplayed;
|
||||||
Handle(Graphic3d_NMapOfTransient) myHiddenObjects;
|
|
||||||
Standard_Boolean myIsInComputedMode;
|
Standard_Boolean myIsInComputedMode;
|
||||||
Standard_Boolean myIsActive;
|
Standard_Boolean myIsActive;
|
||||||
Standard_Boolean myIsRemoved;
|
Standard_Boolean myIsRemoved;
|
||||||
|
@@ -182,29 +182,45 @@ void Graphic3d_StructureManager::RecomputeStructures (const NCollection_Map<Grap
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(Graphic3d_ViewAffinity) Graphic3d_StructureManager::RegisterObject (const Handle(Standard_Transient)& theObject)
|
// ========================================================================
|
||||||
|
// function : RegisterObject
|
||||||
|
// purpose :
|
||||||
|
// ========================================================================
|
||||||
|
void Graphic3d_StructureManager::RegisterObject (const Handle(Standard_Transient)& theObject,
|
||||||
|
const Handle(Graphic3d_ViewAffinity)& theAffinity)
|
||||||
{
|
{
|
||||||
Handle(Graphic3d_ViewAffinity) aResult;
|
Handle(Graphic3d_ViewAffinity) aResult;
|
||||||
if (myRegisteredObjects.Find (theObject.operator->(), aResult))
|
if (myRegisteredObjects.Find (theObject.operator->(), aResult)
|
||||||
|
&& aResult == theAffinity)
|
||||||
{
|
{
|
||||||
return aResult;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
aResult = new Graphic3d_ViewAffinity();
|
myRegisteredObjects.Bind (theObject.operator->(), theAffinity);
|
||||||
myRegisteredObjects.Bind (theObject.operator->(), aResult);
|
|
||||||
return aResult;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ========================================================================
|
||||||
|
// function : UnregisterObject
|
||||||
|
// purpose :
|
||||||
|
// ========================================================================
|
||||||
void Graphic3d_StructureManager::UnregisterObject (const Handle(Standard_Transient)& theObject)
|
void Graphic3d_StructureManager::UnregisterObject (const Handle(Standard_Transient)& theObject)
|
||||||
{
|
{
|
||||||
myRegisteredObjects.UnBind (theObject.operator->());
|
myRegisteredObjects.UnBind (theObject.operator->());
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(Graphic3d_ViewAffinity) Graphic3d_StructureManager::ObjectAffinity (const Handle(Standard_Transient)& theObject) const
|
// ========================================================================
|
||||||
|
// function : ObjectAffinity
|
||||||
|
// purpose :
|
||||||
|
// ========================================================================
|
||||||
|
const Handle(Graphic3d_ViewAffinity)& Graphic3d_StructureManager::ObjectAffinity (const Handle(Standard_Transient)& theObject) const
|
||||||
{
|
{
|
||||||
Handle(Graphic3d_ViewAffinity) aResult;
|
const Handle(Graphic3d_ViewAffinity)* aResult = myRegisteredObjects.Seek (theObject.operator->());
|
||||||
myRegisteredObjects.Find (theObject.operator->(), aResult);
|
if (aResult == nullptr)
|
||||||
return aResult;
|
{
|
||||||
|
static const Handle(Graphic3d_ViewAffinity) aDummy;
|
||||||
|
return aDummy;
|
||||||
|
}
|
||||||
|
return *aResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
|
@@ -151,11 +151,12 @@ public:
|
|||||||
//! Recomputes all structures from theStructures.
|
//! Recomputes all structures from theStructures.
|
||||||
Standard_EXPORT void RecomputeStructures (const NCollection_Map<Graphic3d_Structure*>& theStructures);
|
Standard_EXPORT void RecomputeStructures (const NCollection_Map<Graphic3d_Structure*>& theStructures);
|
||||||
|
|
||||||
Standard_EXPORT Handle(Graphic3d_ViewAffinity) RegisterObject (const Handle(Standard_Transient)& theObject);
|
Standard_EXPORT void RegisterObject (const Handle(Standard_Transient)& theObject,
|
||||||
|
const Handle(Graphic3d_ViewAffinity)& theAffinity);
|
||||||
|
|
||||||
Standard_EXPORT void UnregisterObject (const Handle(Standard_Transient)& theObject);
|
Standard_EXPORT void UnregisterObject (const Handle(Standard_Transient)& theObject);
|
||||||
|
|
||||||
Standard_EXPORT Handle(Graphic3d_ViewAffinity) ObjectAffinity (const Handle(Standard_Transient)& theObject) const;
|
Standard_EXPORT const Handle(Graphic3d_ViewAffinity)& ObjectAffinity (const Handle(Standard_Transient)& theObject) const;
|
||||||
|
|
||||||
//! Returns TRUE if Device Lost flag has been set and presentation data should be reuploaded onto graphics driver.
|
//! Returns TRUE if Device Lost flag has been set and presentation data should be reuploaded onto graphics driver.
|
||||||
Standard_Boolean IsDeviceLost() const { return myDeviceLostFlag; }
|
Standard_Boolean IsDeviceLost() const { return myDeviceLostFlag; }
|
||||||
|
@@ -16,11 +16,7 @@
|
|||||||
#ifndef _IMeshData_Edge_HeaderFile
|
#ifndef _IMeshData_Edge_HeaderFile
|
||||||
#define _IMeshData_Edge_HeaderFile
|
#define _IMeshData_Edge_HeaderFile
|
||||||
|
|
||||||
#include <IMeshData_TessellatedShape.hxx>
|
|
||||||
#include <IMeshData_StatusOwner.hxx>
|
|
||||||
#include <Standard_Type.hxx>
|
|
||||||
#include <TopoDS_Edge.hxx>
|
#include <TopoDS_Edge.hxx>
|
||||||
#include <TopoDS.hxx>
|
|
||||||
#include <IMeshData_Curve.hxx>
|
#include <IMeshData_Curve.hxx>
|
||||||
#include <IMeshData_PCurve.hxx>
|
#include <IMeshData_PCurve.hxx>
|
||||||
#include <IMeshData_Types.hxx>
|
#include <IMeshData_Types.hxx>
|
||||||
|
@@ -19,7 +19,6 @@
|
|||||||
#include <IMeshData_TessellatedShape.hxx>
|
#include <IMeshData_TessellatedShape.hxx>
|
||||||
#include <IMeshData_StatusOwner.hxx>
|
#include <IMeshData_StatusOwner.hxx>
|
||||||
#include <Standard_Type.hxx>
|
#include <Standard_Type.hxx>
|
||||||
#include <TopoDS_Face.hxx>
|
|
||||||
#include <TopoDS.hxx>
|
#include <TopoDS.hxx>
|
||||||
#include <IMeshData_Status.hxx>
|
#include <IMeshData_Status.hxx>
|
||||||
#include <IMeshData_Types.hxx>
|
#include <IMeshData_Types.hxx>
|
||||||
|
@@ -17,8 +17,6 @@
|
|||||||
#define _IMeshData_ParametersListArrayAdaptor_HeaderFile
|
#define _IMeshData_ParametersListArrayAdaptor_HeaderFile
|
||||||
|
|
||||||
#include <Standard_Transient.hxx>
|
#include <Standard_Transient.hxx>
|
||||||
#include <Standard_Type.hxx>
|
|
||||||
#include <IMeshData_ParametersList.hxx>
|
|
||||||
|
|
||||||
//! Auxiliary tool representing adaptor interface for child classes of
|
//! Auxiliary tool representing adaptor interface for child classes of
|
||||||
//! IMeshData_ParametersList to be used in tools working on NCollection_Array structure.
|
//! IMeshData_ParametersList to be used in tools working on NCollection_Array structure.
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
#ifndef _IMeshData_Shape_HeaderFile
|
#ifndef _IMeshData_Shape_HeaderFile
|
||||||
#define _IMeshData_Shape_HeaderFile
|
#define _IMeshData_Shape_HeaderFile
|
||||||
|
|
||||||
#include <Standard_Type.hxx>
|
|
||||||
#include <TopoDS_Shape.hxx>
|
#include <TopoDS_Shape.hxx>
|
||||||
|
|
||||||
//! Interface class representing model with associated TopoDS_Shape.
|
//! Interface class representing model with associated TopoDS_Shape.
|
||||||
|
@@ -17,8 +17,6 @@
|
|||||||
#define _IMeshData_StatusOwner_HeaderFile
|
#define _IMeshData_StatusOwner_HeaderFile
|
||||||
|
|
||||||
#include <IMeshData_Status.hxx>
|
#include <IMeshData_Status.hxx>
|
||||||
#include <Standard_Transient.hxx>
|
|
||||||
#include <Standard_Type.hxx>
|
|
||||||
|
|
||||||
//! Extension interface class providing status functionality.
|
//! Extension interface class providing status functionality.
|
||||||
class IMeshData_StatusOwner
|
class IMeshData_StatusOwner
|
||||||
|
@@ -16,8 +16,6 @@
|
|||||||
#ifndef _IMeshData_Types_HeaderFile
|
#ifndef _IMeshData_Types_HeaderFile
|
||||||
#define _IMeshData_Types_HeaderFile
|
#define _IMeshData_Types_HeaderFile
|
||||||
|
|
||||||
#include <NCollection_DataMap.hxx>
|
|
||||||
#include <NCollection_Vector.hxx>
|
|
||||||
#include <NCollection_Sequence.hxx>
|
#include <NCollection_Sequence.hxx>
|
||||||
#include <NCollection_List.hxx>
|
#include <NCollection_List.hxx>
|
||||||
#include <NCollection_Shared.hxx>
|
#include <NCollection_Shared.hxx>
|
||||||
@@ -26,16 +24,13 @@
|
|||||||
#include <NCollection_DefineAlloc.hxx>
|
#include <NCollection_DefineAlloc.hxx>
|
||||||
#include <NCollection_StdAllocator.hxx>
|
#include <NCollection_StdAllocator.hxx>
|
||||||
#include <IMeshData_ParametersListArrayAdaptor.hxx>
|
#include <IMeshData_ParametersListArrayAdaptor.hxx>
|
||||||
#include <TColStd_PackedMapOfInteger.hxx>
|
|
||||||
#include <TColStd_MapIteratorOfPackedMapOfInteger.hxx>
|
#include <TColStd_MapIteratorOfPackedMapOfInteger.hxx>
|
||||||
#include <Precision.hxx>
|
|
||||||
#include <NCollection_EBTree.hxx>
|
#include <NCollection_EBTree.hxx>
|
||||||
#include <Bnd_Box2d.hxx>
|
#include <Bnd_Box2d.hxx>
|
||||||
#include <NCollection_CellFilter.hxx>
|
#include <NCollection_CellFilter.hxx>
|
||||||
#include <NCollection_IndexedDataMap.hxx>
|
#include <NCollection_IndexedDataMap.hxx>
|
||||||
#include <NCollection_UBTreeFiller.hxx>
|
#include <NCollection_UBTreeFiller.hxx>
|
||||||
#include <NCollection_IndexedMap.hxx>
|
#include <NCollection_IndexedMap.hxx>
|
||||||
#include <BRepMesh_OrientedEdge.hxx>
|
|
||||||
#include <BRepMesh_Vertex.hxx>
|
#include <BRepMesh_Vertex.hxx>
|
||||||
#include <Bnd_B2d.hxx>
|
#include <Bnd_B2d.hxx>
|
||||||
#include <BRepMesh_Circle.hxx>
|
#include <BRepMesh_Circle.hxx>
|
||||||
@@ -45,7 +40,6 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
#include <list>
|
|
||||||
|
|
||||||
class IMeshData_Shape;
|
class IMeshData_Shape;
|
||||||
class IMeshData_Face;
|
class IMeshData_Face;
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
#ifndef _IMeshTools_Context_HeaderFile
|
#ifndef _IMeshTools_Context_HeaderFile
|
||||||
#define _IMeshTools_Context_HeaderFile
|
#define _IMeshTools_Context_HeaderFile
|
||||||
|
|
||||||
#include <IMeshData_Shape.hxx>
|
|
||||||
#include <Standard_Type.hxx>
|
#include <Standard_Type.hxx>
|
||||||
#include <IMeshTools_ModelBuilder.hxx>
|
#include <IMeshTools_ModelBuilder.hxx>
|
||||||
#include <IMeshData_Model.hxx>
|
#include <IMeshData_Model.hxx>
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
#define _IMeshTools_MeshAlgo_HeaderFile
|
#define _IMeshTools_MeshAlgo_HeaderFile
|
||||||
|
|
||||||
#include <Standard_Transient.hxx>
|
#include <Standard_Transient.hxx>
|
||||||
#include <Standard_Type.hxx>
|
|
||||||
#include <IMeshData_Types.hxx>
|
#include <IMeshData_Types.hxx>
|
||||||
#include <Message_ProgressRange.hxx>
|
#include <Message_ProgressRange.hxx>
|
||||||
|
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
#define _IMeshTools_MeshAlgoFactory_HeaderFile
|
#define _IMeshTools_MeshAlgoFactory_HeaderFile
|
||||||
|
|
||||||
#include <Standard_Transient.hxx>
|
#include <Standard_Transient.hxx>
|
||||||
#include <Standard_Type.hxx>
|
|
||||||
#include <GeomAbs_SurfaceType.hxx>
|
#include <GeomAbs_SurfaceType.hxx>
|
||||||
#include <IMeshTools_MeshAlgo.hxx>
|
#include <IMeshTools_MeshAlgo.hxx>
|
||||||
|
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
#ifndef _IMeshTools_MeshBuilder_HeaderFile
|
#ifndef _IMeshTools_MeshBuilder_HeaderFile
|
||||||
#define _IMeshTools_MeshBuilder_HeaderFile
|
#define _IMeshTools_MeshBuilder_HeaderFile
|
||||||
|
|
||||||
#include <Message_Algorithm.hxx>
|
|
||||||
#include <IMeshTools_Context.hxx>
|
#include <IMeshTools_Context.hxx>
|
||||||
#include <Standard_Type.hxx>
|
#include <Standard_Type.hxx>
|
||||||
#include <Message_ProgressRange.hxx>
|
#include <Message_ProgressRange.hxx>
|
||||||
|
@@ -16,10 +16,7 @@
|
|||||||
#ifndef _IMeshTools_ModelAlgo_HeaderFile
|
#ifndef _IMeshTools_ModelAlgo_HeaderFile
|
||||||
#define _IMeshTools_ModelAlgo_HeaderFile
|
#define _IMeshTools_ModelAlgo_HeaderFile
|
||||||
|
|
||||||
#include <Standard_ErrorHandler.hxx>
|
|
||||||
#include <Standard_Failure.hxx>
|
|
||||||
#include <Standard_Transient.hxx>
|
#include <Standard_Transient.hxx>
|
||||||
#include <Standard_Type.hxx>
|
|
||||||
#include <Message_ProgressRange.hxx>
|
#include <Message_ProgressRange.hxx>
|
||||||
|
|
||||||
class IMeshData_Model;
|
class IMeshData_Model;
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
#include <Standard_ErrorHandler.hxx>
|
#include <Standard_ErrorHandler.hxx>
|
||||||
#include <Standard_Failure.hxx>
|
#include <Standard_Failure.hxx>
|
||||||
#include <Standard_Type.hxx>
|
#include <Standard_Type.hxx>
|
||||||
#include <TopoDS_Shape.hxx>
|
|
||||||
#include <IMeshData_Model.hxx>
|
#include <IMeshData_Model.hxx>
|
||||||
|
|
||||||
struct IMeshTools_Parameters;
|
struct IMeshTools_Parameters;
|
||||||
|
@@ -16,14 +16,11 @@
|
|||||||
#include <IMeshTools_ShapeExplorer.hxx>
|
#include <IMeshTools_ShapeExplorer.hxx>
|
||||||
#include <TopExp.hxx>
|
#include <TopExp.hxx>
|
||||||
#include <TopExp_Explorer.hxx>
|
#include <TopExp_Explorer.hxx>
|
||||||
#include <TopoDS.hxx>
|
|
||||||
#include <TopoDS_Face.hxx>
|
#include <TopoDS_Face.hxx>
|
||||||
#include <TopoDS_Edge.hxx>
|
|
||||||
#include <TopTools_ListOfShape.hxx>
|
#include <TopTools_ListOfShape.hxx>
|
||||||
#include <BRepLib.hxx>
|
#include <BRepLib.hxx>
|
||||||
#include <BRep_Tool.hxx>
|
#include <BRep_Tool.hxx>
|
||||||
#include <TopTools_MapOfShape.hxx>
|
#include <TopTools_MapOfShape.hxx>
|
||||||
#include <Geom_Surface.hxx>
|
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(IMeshTools_ShapeExplorer, IMeshData_Shape)
|
IMPLEMENT_STANDARD_RTTIEXT(IMeshTools_ShapeExplorer, IMeshData_Shape)
|
||||||
|
|
||||||
|
@@ -114,7 +114,7 @@ void IVtkOCC_ViewerSelector::Pick (const Standard_Integer theXPix,
|
|||||||
|
|
||||||
mySelectingVolumeMgr.BuildSelectingVolume();
|
mySelectingVolumeMgr.BuildSelectingVolume();
|
||||||
|
|
||||||
TraverseSensitives();
|
TraverseSensitives (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@@ -160,7 +160,7 @@ void IVtkOCC_ViewerSelector::Pick (const Standard_Integer theXMin,
|
|||||||
|
|
||||||
mySelectingVolumeMgr.BuildSelectingVolume();
|
mySelectingVolumeMgr.BuildSelectingVolume();
|
||||||
|
|
||||||
TraverseSensitives();
|
TraverseSensitives (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
@@ -207,7 +207,7 @@ void IVtkOCC_ViewerSelector::Pick (double** thePoly,
|
|||||||
|
|
||||||
mySelectingVolumeMgr.BuildSelectingVolume();
|
mySelectingVolumeMgr.BuildSelectingVolume();
|
||||||
|
|
||||||
TraverseSensitives();
|
TraverseSensitives (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
@@ -19,14 +19,14 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <GeomAbs_SurfaceType.hxx>
|
#include <GeomAbs_SurfaceType.hxx>
|
||||||
#include <gp_Ax3.hxx>
|
#include <gp_Ax3.hxx>
|
||||||
#include <gp_Cone.hxx>
|
|
||||||
#include <gp_Cylinder.hxx>
|
|
||||||
#include <TColStd_ListOfReal.hxx>
|
#include <TColStd_ListOfReal.hxx>
|
||||||
|
|
||||||
|
class gp_Cone;
|
||||||
|
class gp_Cylinder;
|
||||||
|
|
||||||
//! Definition of a parametric Curve which is the result
|
//! Definition of a parametric Curve which is the result
|
||||||
//! of the intersection between two quadrics.
|
//! of the intersection between two quadrics.
|
||||||
class IntAna_Curve
|
class IntAna_Curve
|
||||||
|
@@ -18,14 +18,12 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include <gp.hxx>
|
|
||||||
#include <gp_Pln.hxx>
|
#include <gp_Pln.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <IntAna_Int3Pln.hxx>
|
#include <IntAna_Int3Pln.hxx>
|
||||||
#include <math_Gauss.hxx>
|
#include <math_Gauss.hxx>
|
||||||
#include <math_Matrix.hxx>
|
#include <math_Matrix.hxx>
|
||||||
#include <math_Vector.hxx>
|
#include <math_Vector.hxx>
|
||||||
#include <Standard_DomainError.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
IntAna_Int3Pln::IntAna_Int3Pln()
|
IntAna_Int3Pln::IntAna_Int3Pln()
|
||||||
|
@@ -19,9 +19,7 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Boolean.hxx>
|
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
class gp_Pln;
|
class gp_Pln;
|
||||||
|
|
||||||
|
@@ -24,7 +24,6 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <ElCLib.hxx>
|
#include <ElCLib.hxx>
|
||||||
#include <gp_Ax3.hxx>
|
|
||||||
#include <gp_Circ.hxx>
|
#include <gp_Circ.hxx>
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips.hxx>
|
#include <gp_Elips.hxx>
|
||||||
@@ -43,9 +42,6 @@
|
|||||||
#include <IntAna_ResultType.hxx>
|
#include <IntAna_ResultType.hxx>
|
||||||
#include <math_DirectPolynomialRoots.hxx>
|
#include <math_DirectPolynomialRoots.hxx>
|
||||||
#include <math_TrigonometricFunctionRoots.hxx>
|
#include <math_TrigonometricFunctionRoots.hxx>
|
||||||
#include <Standard_DomainError.hxx>
|
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
|
||||||
|
|
||||||
static Standard_Real PIpPI = M_PI + M_PI;
|
static Standard_Real PIpPI = M_PI + M_PI;
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@@ -19,12 +19,9 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Boolean.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class gp_Lin;
|
class gp_Lin;
|
||||||
class IntAna_Quadric;
|
class IntAna_Quadric;
|
||||||
class gp_Circ;
|
class gp_Circ;
|
||||||
|
@@ -25,9 +25,6 @@
|
|||||||
#include <gp_Trsf.hxx>
|
#include <gp_Trsf.hxx>
|
||||||
#include <IntAna_IntLinTorus.hxx>
|
#include <IntAna_IntLinTorus.hxx>
|
||||||
#include <math_DirectPolynomialRoots.hxx>
|
#include <math_DirectPolynomialRoots.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
|
||||||
|
|
||||||
IntAna_IntLinTorus::IntAna_IntLinTorus ()
|
IntAna_IntLinTorus::IntAna_IntLinTorus ()
|
||||||
: done(Standard_False),
|
: done(Standard_False),
|
||||||
|
@@ -19,12 +19,9 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Boolean.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class gp_Lin;
|
class gp_Lin;
|
||||||
class gp_Torus;
|
class gp_Torus;
|
||||||
|
|
||||||
|
@@ -34,7 +34,6 @@
|
|||||||
#include <gp_Cone.hxx>
|
#include <gp_Cone.hxx>
|
||||||
#include <gp_Cylinder.hxx>
|
#include <gp_Cylinder.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <IntAna_Curve.hxx>
|
|
||||||
#include <IntAna_IntQuadQuad.hxx>
|
#include <IntAna_IntQuadQuad.hxx>
|
||||||
#include <IntAna_Quadric.hxx>
|
#include <IntAna_Quadric.hxx>
|
||||||
#include <math_TrigonometricFunctionRoots.hxx>
|
#include <math_TrigonometricFunctionRoots.hxx>
|
||||||
|
@@ -19,13 +19,10 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Boolean.hxx>
|
|
||||||
#include <IntAna_Curve.hxx>
|
#include <IntAna_Curve.hxx>
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class gp_Cylinder;
|
class gp_Cylinder;
|
||||||
class IntAna_Quadric;
|
class IntAna_Quadric;
|
||||||
class gp_Cone;
|
class gp_Cone;
|
||||||
|
@@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
#include <ElCLib.hxx>
|
#include <ElCLib.hxx>
|
||||||
#include <ElSLib.hxx>
|
#include <ElSLib.hxx>
|
||||||
#include <gp.hxx>
|
|
||||||
#include <gp_Circ.hxx>
|
#include <gp_Circ.hxx>
|
||||||
#include <gp_Cone.hxx>
|
#include <gp_Cone.hxx>
|
||||||
#include <gp_Cylinder.hxx>
|
#include <gp_Cylinder.hxx>
|
||||||
|
@@ -19,14 +19,11 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Boolean.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <IntAna_ResultType.hxx>
|
#include <IntAna_ResultType.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <gp_Dir.hxx>
|
#include <gp_Dir.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class gp_Pln;
|
class gp_Pln;
|
||||||
class gp_Cylinder;
|
class gp_Cylinder;
|
||||||
class gp_Sphere;
|
class gp_Sphere;
|
||||||
|
@@ -21,12 +21,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <gp_Ax3.hxx>
|
#include <gp_Ax3.hxx>
|
||||||
#include <gp_Cone.hxx>
|
|
||||||
#include <gp_Cylinder.hxx>
|
|
||||||
#include <gp_Pln.hxx>
|
|
||||||
#include <gp_Sphere.hxx>
|
|
||||||
#include <gp_Trsf.hxx>
|
#include <gp_Trsf.hxx>
|
||||||
#include <gp_Vec.hxx>
|
|
||||||
#include <IntAna_Quadric.hxx>
|
#include <IntAna_Quadric.hxx>
|
||||||
#include <ElSLib.hxx>
|
#include <ElSLib.hxx>
|
||||||
|
|
||||||
|
@@ -17,8 +17,13 @@
|
|||||||
#ifndef _IntAna_Quadric_HeaderFile
|
#ifndef _IntAna_Quadric_HeaderFile
|
||||||
#define _IntAna_Quadric_HeaderFile
|
#define _IntAna_Quadric_HeaderFile
|
||||||
|
|
||||||
#include <Standard_DefineAlloc.hxx>
|
|
||||||
#include <NCollection_List.hxx>
|
#include <NCollection_List.hxx>
|
||||||
|
#include <Standard_DefineAlloc.hxx>
|
||||||
|
|
||||||
|
class gp_Cone;
|
||||||
|
class gp_Cylinder;
|
||||||
|
class gp_Pln;
|
||||||
|
class gp_Sphere;
|
||||||
|
|
||||||
//! This class provides a description of Quadrics by their
|
//! This class provides a description of Quadrics by their
|
||||||
//! Coefficients in natural coordinate system.
|
//! Coefficients in natural coordinate system.
|
||||||
|
@@ -20,8 +20,6 @@
|
|||||||
#include <gp_Parab2d.hxx>
|
#include <gp_Parab2d.hxx>
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ()
|
IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ()
|
||||||
|
@@ -19,9 +19,7 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Boolean.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
class gp_Lin2d;
|
class gp_Lin2d;
|
||||||
|
@@ -14,14 +14,10 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
|
||||||
#include <gp_Hypr2d.hxx>
|
|
||||||
#include <gp_Lin2d.hxx>
|
#include <gp_Lin2d.hxx>
|
||||||
#include <gp_Parab2d.hxx>
|
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
void IntAna2d_AnaIntersection::Perform (const gp_Lin2d& L1,
|
void IntAna2d_AnaIntersection::Perform (const gp_Lin2d& L1,
|
||||||
|
@@ -14,15 +14,10 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
|
||||||
#include <gp_Hypr2d.hxx>
|
|
||||||
#include <gp_Lin2d.hxx>
|
|
||||||
#include <gp_Parab2d.hxx>
|
|
||||||
#include <gp_Vec2d.hxx>
|
#include <gp_Vec2d.hxx>
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
void IntAna2d_AnaIntersection::Perform (const gp_Circ2d& C1,
|
void IntAna2d_AnaIntersection::Perform (const gp_Circ2d& C1,
|
||||||
|
@@ -15,15 +15,10 @@
|
|||||||
|
|
||||||
#include <ElCLib.hxx>
|
#include <ElCLib.hxx>
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
|
||||||
#include <gp_Hypr2d.hxx>
|
|
||||||
#include <gp_Lin2d.hxx>
|
#include <gp_Lin2d.hxx>
|
||||||
#include <gp_Parab2d.hxx>
|
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : Perform
|
//function : Perform
|
||||||
|
@@ -16,15 +16,11 @@
|
|||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
|
||||||
#include <gp_Hypr2d.hxx>
|
|
||||||
#include <gp_Lin2d.hxx>
|
#include <gp_Lin2d.hxx>
|
||||||
#include <gp_Parab2d.hxx>
|
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <IntAna2d_Outils.hxx>
|
#include <IntAna2d_Outils.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
void IntAna2d_AnaIntersection::Perform (const gp_Lin2d& L,
|
void IntAna2d_AnaIntersection::Perform (const gp_Lin2d& L,
|
||||||
|
@@ -16,15 +16,10 @@
|
|||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
|
||||||
#include <gp_Hypr2d.hxx>
|
|
||||||
#include <gp_Lin2d.hxx>
|
|
||||||
#include <gp_Parab2d.hxx>
|
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <IntAna2d_Outils.hxx>
|
#include <IntAna2d_Outils.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
void IntAna2d_AnaIntersection::Perform(const gp_Circ2d& Circle,
|
void IntAna2d_AnaIntersection::Perform(const gp_Circ2d& Circle,
|
||||||
|
@@ -17,14 +17,10 @@
|
|||||||
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
#include <gp_Elips2d.hxx>
|
||||||
#include <gp_Hypr2d.hxx>
|
|
||||||
#include <gp_Lin2d.hxx>
|
|
||||||
#include <gp_Parab2d.hxx>
|
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <IntAna2d_Outils.hxx>
|
#include <IntAna2d_Outils.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
void IntAna2d_AnaIntersection::Perform(const gp_Elips2d& Elips,
|
void IntAna2d_AnaIntersection::Perform(const gp_Elips2d& Elips,
|
||||||
|
@@ -16,15 +16,11 @@
|
|||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
|
||||||
#include <gp_Hypr2d.hxx>
|
|
||||||
#include <gp_Lin2d.hxx>
|
|
||||||
#include <gp_Parab2d.hxx>
|
#include <gp_Parab2d.hxx>
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <IntAna2d_Outils.hxx>
|
#include <IntAna2d_Outils.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
void IntAna2d_AnaIntersection::Perform(const gp_Parab2d& P,
|
void IntAna2d_AnaIntersection::Perform(const gp_Parab2d& P,
|
||||||
|
@@ -16,15 +16,11 @@
|
|||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
|
||||||
#include <gp_Hypr2d.hxx>
|
#include <gp_Hypr2d.hxx>
|
||||||
#include <gp_Lin2d.hxx>
|
|
||||||
#include <gp_Parab2d.hxx>
|
|
||||||
#include <IntAna2d_AnaIntersection.hxx>
|
#include <IntAna2d_AnaIntersection.hxx>
|
||||||
#include <IntAna2d_Conic.hxx>
|
#include <IntAna2d_Conic.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <IntAna2d_Outils.hxx>
|
#include <IntAna2d_Outils.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
|
@@ -13,7 +13,6 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
|
|
||||||
#include <gp_Ax2d.hxx>
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
#include <gp_Elips2d.hxx>
|
||||||
#include <gp_Hypr2d.hxx>
|
#include <gp_Hypr2d.hxx>
|
||||||
|
@@ -19,9 +19,7 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class gp_Circ2d;
|
class gp_Circ2d;
|
||||||
class gp_Lin2d;
|
class gp_Lin2d;
|
||||||
class gp_Parab2d;
|
class gp_Parab2d;
|
||||||
|
@@ -15,9 +15,7 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
|
|
||||||
#include <gp_Pnt2d.hxx>
|
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <Standard_DomainError.hxx>
|
|
||||||
|
|
||||||
IntAna2d_IntPoint::IntAna2d_IntPoint (const Standard_Real X, const Standard_Real Y,
|
IntAna2d_IntPoint::IntAna2d_IntPoint (const Standard_Real X, const Standard_Real Y,
|
||||||
const Standard_Real U1,const Standard_Real U2):
|
const Standard_Real U1,const Standard_Real U2):
|
||||||
|
@@ -21,7 +21,6 @@
|
|||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
#include <Standard_Handle.hxx>
|
||||||
|
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
#include <gp_Pnt2d.hxx>
|
#include <gp_Pnt2d.hxx>
|
||||||
#include <Standard_Boolean.hxx>
|
#include <Standard_Boolean.hxx>
|
||||||
|
|
||||||
|
@@ -18,10 +18,8 @@
|
|||||||
#ifndef IntAna2d_Outils_HeaderFile
|
#ifndef IntAna2d_Outils_HeaderFile
|
||||||
#define IntAna2d_Outils_HeaderFile
|
#define IntAna2d_Outils_HeaderFile
|
||||||
|
|
||||||
#include <math_DirectPolynomialRoots.hxx>
|
|
||||||
#include <math_TrigonometricFunctionRoots.hxx>
|
#include <math_TrigonometricFunctionRoots.hxx>
|
||||||
#include <IntAna2d_IntPoint.hxx>
|
#include <IntAna2d_IntPoint.hxx>
|
||||||
#include <gp_Ax2d.hxx>
|
|
||||||
|
|
||||||
class MyDirectPolynomialRoots {
|
class MyDirectPolynomialRoots {
|
||||||
public:
|
public:
|
||||||
|
@@ -19,9 +19,7 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
#include <gp_Ax22d.hxx>
|
#include <gp_Ax22d.hxx>
|
||||||
#include <GeomAbs_CurveType.hxx>
|
#include <GeomAbs_CurveType.hxx>
|
||||||
#include <gp_Trsf2d.hxx>
|
#include <gp_Trsf2d.hxx>
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
// Modified: OFV Thu Nov 6 17:03:52 2003
|
// Modified: OFV Thu Nov 6 17:03:52 2003
|
||||||
|
|
||||||
#include <ElCLib.hxx>
|
#include <ElCLib.hxx>
|
||||||
#include <gp.hxx>
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
#include <gp_Elips2d.hxx>
|
||||||
#include <gp_Hypr2d.hxx>
|
#include <gp_Hypr2d.hxx>
|
||||||
@@ -31,7 +30,6 @@
|
|||||||
#include <IntCurve_PConic.hxx>
|
#include <IntCurve_PConic.hxx>
|
||||||
#include <IntRes2d_Domain.hxx>
|
#include <IntRes2d_Domain.hxx>
|
||||||
#include <Precision.hxx>
|
#include <Precision.hxx>
|
||||||
#include <Standard_ConstructionError.hxx>
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
// Perform() for
|
// Perform() for
|
||||||
|
@@ -19,11 +19,9 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <IntCurve_IntImpConicParConic.hxx>
|
#include <IntCurve_IntImpConicParConic.hxx>
|
||||||
#include <IntRes2d_Intersection.hxx>
|
#include <IntRes2d_Intersection.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class gp_Lin2d;
|
class gp_Lin2d;
|
||||||
class IntRes2d_Domain;
|
class IntRes2d_Domain;
|
||||||
class gp_Circ2d;
|
class gp_Circ2d;
|
||||||
|
@@ -20,22 +20,17 @@
|
|||||||
#include <gp.hxx>
|
#include <gp.hxx>
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
#include <gp_Elips2d.hxx>
|
||||||
#include <gp_Hypr2d.hxx>
|
|
||||||
#include <gp_Lin2d.hxx>
|
#include <gp_Lin2d.hxx>
|
||||||
#include <gp_Parab2d.hxx>
|
|
||||||
#include <gp_Pnt2d.hxx>
|
#include <gp_Pnt2d.hxx>
|
||||||
#include <gp_Vec2d.hxx>
|
#include <gp_Vec2d.hxx>
|
||||||
#include <IntCurve_IConicTool.hxx>
|
|
||||||
#include <IntCurve_IntConicConic.hxx>
|
#include <IntCurve_IntConicConic.hxx>
|
||||||
#include <IntCurve_IntConicConic_Tool.hxx>
|
#include <IntCurve_IntConicConic_Tool.hxx>
|
||||||
#include <IntCurve_PConic.hxx>
|
|
||||||
#include <IntImpParGen.hxx>
|
#include <IntImpParGen.hxx>
|
||||||
#include <IntRes2d_Domain.hxx>
|
#include <IntRes2d_Domain.hxx>
|
||||||
#include <IntRes2d_IntersectionPoint.hxx>
|
#include <IntRes2d_IntersectionPoint.hxx>
|
||||||
#include <IntRes2d_IntersectionSegment.hxx>
|
#include <IntRes2d_IntersectionSegment.hxx>
|
||||||
#include <IntRes2d_TypeTrans.hxx>
|
#include <IntRes2d_TypeTrans.hxx>
|
||||||
#include <Precision.hxx>
|
#include <Precision.hxx>
|
||||||
#include <Standard_ConstructionError.hxx>
|
|
||||||
#include <Extrema_ExtElC2d.hxx>
|
#include <Extrema_ExtElC2d.hxx>
|
||||||
|
|
||||||
Standard_Boolean Affichage=Standard_False;
|
Standard_Boolean Affichage=Standard_False;
|
||||||
|
@@ -19,14 +19,10 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <IntCurve_IntImpConicParConic.hxx>
|
#include <IntCurve_IntImpConicParConic.hxx>
|
||||||
#include <IntCurve_IConicTool.hxx>
|
|
||||||
#include <IntCurve_PConic.hxx>
|
|
||||||
// #include <IntCurve_IConicPConicTool.hxx>
|
// #include <IntCurve_IConicPConicTool.hxx>
|
||||||
#include <IntRes2d_Domain.hxx>
|
#include <IntRes2d_Domain.hxx>
|
||||||
#include <IntRes2d_Transition.hxx>
|
#include <IntRes2d_Transition.hxx>
|
||||||
#include <IntRes2d_Position.hxx>
|
#include <IntRes2d_Position.hxx>
|
||||||
#include <gp_Vec2d.hxx>
|
|
||||||
#include <gp.hxx>
|
|
||||||
|
|
||||||
|
|
||||||
static Standard_Real PIpPI = M_PI + M_PI;
|
static Standard_Real PIpPI = M_PI + M_PI;
|
||||||
|
@@ -22,8 +22,6 @@
|
|||||||
#include <Standard_Handle.hxx>
|
#include <Standard_Handle.hxx>
|
||||||
|
|
||||||
#include <IntRes2d_Intersection.hxx>
|
#include <IntRes2d_Intersection.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
class Standard_ConstructionError;
|
class Standard_ConstructionError;
|
||||||
class IntCurve_IConicTool;
|
class IntCurve_IConicTool;
|
||||||
|
@@ -21,11 +21,9 @@
|
|||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
#include <Standard_Handle.hxx>
|
||||||
|
|
||||||
#include <Standard_Address.hxx>
|
|
||||||
#include <IntCurve_IConicTool.hxx>
|
#include <IntCurve_IConicTool.hxx>
|
||||||
#include <math_FunctionWithDerivative.hxx>
|
#include <math_FunctionWithDerivative.hxx>
|
||||||
#include <Standard_Boolean.hxx>
|
#include <Standard_Boolean.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class IntCurve_IConicTool;
|
class IntCurve_IConicTool;
|
||||||
class IntCurve_PConic;
|
class IntCurve_PConic;
|
||||||
class IntCurve_PConicTool;
|
class IntCurve_PConicTool;
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
|
|
||||||
#include <gp_Ax22d.hxx>
|
|
||||||
#include <gp_Circ2d.hxx>
|
#include <gp_Circ2d.hxx>
|
||||||
#include <gp_Elips2d.hxx>
|
#include <gp_Elips2d.hxx>
|
||||||
#include <gp_Hypr2d.hxx>
|
#include <gp_Hypr2d.hxx>
|
||||||
|
@@ -19,10 +19,8 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <gp_Ax22d.hxx>
|
#include <gp_Ax22d.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <GeomAbs_CurveType.hxx>
|
#include <GeomAbs_CurveType.hxx>
|
||||||
class gp_Elips2d;
|
class gp_Elips2d;
|
||||||
|
@@ -19,9 +19,7 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
class IntCurve_PConic;
|
class IntCurve_PConic;
|
||||||
class gp_Pnt2d;
|
class gp_Pnt2d;
|
||||||
|
@@ -19,9 +19,7 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class IntCurve_PConic;
|
class IntCurve_PConic;
|
||||||
class gp_Pnt2d;
|
class gp_Pnt2d;
|
||||||
|
|
||||||
|
@@ -19,7 +19,6 @@
|
|||||||
#include <IntCurveSurface_IntersectionPoint.hxx>
|
#include <IntCurveSurface_IntersectionPoint.hxx>
|
||||||
#include <IntCurveSurface_IntersectionSegment.hxx>
|
#include <IntCurveSurface_IntersectionSegment.hxx>
|
||||||
#include <IntCurveSurface_TransitionOnCurve.hxx>
|
#include <IntCurveSurface_TransitionOnCurve.hxx>
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <StdFail_NotDone.hxx>
|
#include <StdFail_NotDone.hxx>
|
||||||
|
|
||||||
#define PARAMEQUAL(a,b) (Abs((a)-(b))< (1e-8))
|
#define PARAMEQUAL(a,b) (Abs((a)-(b))< (1e-8))
|
||||||
|
@@ -24,8 +24,6 @@
|
|||||||
#include <Standard_Boolean.hxx>
|
#include <Standard_Boolean.hxx>
|
||||||
#include <IntCurveSurface_SequenceOfPnt.hxx>
|
#include <IntCurveSurface_SequenceOfPnt.hxx>
|
||||||
#include <IntCurveSurface_SequenceOfSeg.hxx>
|
#include <IntCurveSurface_SequenceOfSeg.hxx>
|
||||||
#include <Standard_Integer.hxx>
|
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class IntCurveSurface_IntersectionPoint;
|
class IntCurveSurface_IntersectionPoint;
|
||||||
class IntCurveSurface_IntersectionSegment;
|
class IntCurveSurface_IntersectionSegment;
|
||||||
|
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
|
|
||||||
#include <gp_Pnt.hxx>
|
|
||||||
#include <IntCurveSurface_IntersectionPoint.hxx>
|
#include <IntCurveSurface_IntersectionPoint.hxx>
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
#include <Standard_Handle.hxx>
|
#include <Standard_Handle.hxx>
|
||||||
|
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
#include <IntCurveSurface_TransitionOnCurve.hxx>
|
#include <IntCurveSurface_TransitionOnCurve.hxx>
|
||||||
|
|
||||||
|
|
||||||
|
@@ -15,7 +15,6 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
|
|
||||||
#include <IntCurveSurface_IntersectionPoint.hxx>
|
|
||||||
#include <IntCurveSurface_IntersectionSegment.hxx>
|
#include <IntCurveSurface_IntersectionSegment.hxx>
|
||||||
|
|
||||||
IntCurveSurface_IntersectionSegment::IntCurveSurface_IntersectionSegment()
|
IntCurveSurface_IntersectionSegment::IntCurveSurface_IntersectionSegment()
|
||||||
|
@@ -22,12 +22,7 @@
|
|||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <gp_Vec.hxx>
|
#include <gp_Vec.hxx>
|
||||||
#include <GeomAbs_CurveType.hxx>
|
|
||||||
#include <gp_Lin.hxx>
|
#include <gp_Lin.hxx>
|
||||||
#include <gp_Circ.hxx>
|
|
||||||
#include <gp_Elips.hxx>
|
|
||||||
#include <gp_Hypr.hxx>
|
|
||||||
#include <gp_Parab.hxx>
|
|
||||||
#include <TColStd_HArray1OfReal.hxx>
|
#include <TColStd_HArray1OfReal.hxx>
|
||||||
class Standard_OutOfRange;
|
class Standard_OutOfRange;
|
||||||
class Standard_NoSuchObject;
|
class Standard_NoSuchObject;
|
||||||
|
@@ -22,10 +22,8 @@
|
|||||||
#include <Standard_Handle.hxx>
|
#include <Standard_Handle.hxx>
|
||||||
|
|
||||||
#include <Standard_Boolean.hxx>
|
#include <Standard_Boolean.hxx>
|
||||||
#include <Standard_Integer.hxx>
|
|
||||||
#include <Intf_Interference.hxx>
|
#include <Intf_Interference.hxx>
|
||||||
#include <Intf_Array1OfLin.hxx>
|
#include <Intf_Array1OfLin.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
class IntCurveSurface_ThePolygonOfHInter;
|
class IntCurveSurface_ThePolygonOfHInter;
|
||||||
class IntCurveSurface_ThePolygonToolOfHInter;
|
class IntCurveSurface_ThePolygonToolOfHInter;
|
||||||
class IntCurveSurface_ThePolyhedronOfHInter;
|
class IntCurveSurface_ThePolyhedronOfHInter;
|
||||||
|
@@ -19,10 +19,7 @@
|
|||||||
|
|
||||||
#include <Standard.hxx>
|
#include <Standard.hxx>
|
||||||
#include <Standard_DefineAlloc.hxx>
|
#include <Standard_DefineAlloc.hxx>
|
||||||
#include <Standard_Handle.hxx>
|
|
||||||
|
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
#include <Standard_Boolean.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
class Standard_OutOfRange;
|
class Standard_OutOfRange;
|
||||||
class gp_Pnt;
|
class gp_Pnt;
|
||||||
|
@@ -18,7 +18,6 @@
|
|||||||
#define _IntCurveSurface_ThePolyhedronOfHInter_HeaderFile
|
#define _IntCurveSurface_ThePolyhedronOfHInter_HeaderFile
|
||||||
|
|
||||||
#include <Adaptor3d_Surface.hxx>
|
#include <Adaptor3d_Surface.hxx>
|
||||||
#include <Bnd_Box.hxx>
|
|
||||||
#include <Bnd_HArray1OfBox.hxx>
|
#include <Bnd_HArray1OfBox.hxx>
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
|
|
||||||
|
@@ -22,9 +22,7 @@
|
|||||||
#include <Standard_Handle.hxx>
|
#include <Standard_Handle.hxx>
|
||||||
|
|
||||||
#include <Bnd_HArray1OfBox.hxx>
|
#include <Bnd_HArray1OfBox.hxx>
|
||||||
#include <Standard_Real.hxx>
|
|
||||||
#include <Standard_Integer.hxx>
|
#include <Standard_Integer.hxx>
|
||||||
#include <Standard_Boolean.hxx>
|
|
||||||
class Standard_OutOfRange;
|
class Standard_OutOfRange;
|
||||||
class IntCurveSurface_ThePolyhedronOfHInter;
|
class IntCurveSurface_ThePolyhedronOfHInter;
|
||||||
class Bnd_Box;
|
class Bnd_Box;
|
||||||
|
@@ -23,22 +23,17 @@
|
|||||||
#include <Bnd_BoundSortBox.hxx>
|
#include <Bnd_BoundSortBox.hxx>
|
||||||
#include <Bnd_Box.hxx>
|
#include <Bnd_Box.hxx>
|
||||||
#include <BRepAdaptor_Surface.hxx>
|
#include <BRepAdaptor_Surface.hxx>
|
||||||
#include <BRepClass_FaceClassifier.hxx>
|
|
||||||
#include <BRepTopAdaptor_TopolTool.hxx>
|
#include <BRepTopAdaptor_TopolTool.hxx>
|
||||||
#include <Geom_Line.hxx>
|
#include <Geom_Line.hxx>
|
||||||
#include <GeomAdaptor_Curve.hxx>
|
|
||||||
#include <gp_Lin.hxx>
|
#include <gp_Lin.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <gp_Pnt2d.hxx>
|
#include <gp_Pnt2d.hxx>
|
||||||
#include <IntCurveSurface_HInter.hxx>
|
#include <IntCurveSurface_HInter.hxx>
|
||||||
#include <IntCurveSurface_IntersectionPoint.hxx>
|
#include <IntCurveSurface_IntersectionPoint.hxx>
|
||||||
#include <IntCurveSurface_SequenceOfPnt.hxx>
|
|
||||||
#include <IntCurveSurface_TheHCurveTool.hxx>
|
#include <IntCurveSurface_TheHCurveTool.hxx>
|
||||||
#include <IntCurveSurface_ThePolygonOfHInter.hxx>
|
#include <IntCurveSurface_ThePolygonOfHInter.hxx>
|
||||||
#include <IntCurveSurface_ThePolyhedronOfHInter.hxx>
|
|
||||||
#include <IntCurveSurface_ThePolyhedronToolOfHInter.hxx>
|
#include <IntCurveSurface_ThePolyhedronToolOfHInter.hxx>
|
||||||
#include <Intf_Tool.hxx>
|
#include <Intf_Tool.hxx>
|
||||||
#include <TopAbs.hxx>
|
|
||||||
#include <TopoDS_Face.hxx>
|
#include <TopoDS_Face.hxx>
|
||||||
#include <BRep_Tool.hxx>
|
#include <BRep_Tool.hxx>
|
||||||
#include <TopoDS.hxx>
|
#include <TopoDS.hxx>
|
||||||
|
@@ -18,13 +18,8 @@
|
|||||||
|
|
||||||
#include <Adaptor3d_Curve.hxx>
|
#include <Adaptor3d_Curve.hxx>
|
||||||
#include <Bnd_BoundSortBox.hxx>
|
#include <Bnd_BoundSortBox.hxx>
|
||||||
#include <Bnd_HArray1OfBox.hxx>
|
|
||||||
#include <ElCLib.hxx>
|
|
||||||
#include <gp_Lin.hxx>
|
#include <gp_Lin.hxx>
|
||||||
#include <gp_Pnt.hxx>
|
|
||||||
#include <IntCurvesFace_Intersector.hxx>
|
#include <IntCurvesFace_Intersector.hxx>
|
||||||
#include <TColStd_ListIteratorOfListOfInteger.hxx>
|
|
||||||
#include <TColStd_ListOfInteger.hxx>
|
|
||||||
#include <TopExp_Explorer.hxx>
|
#include <TopExp_Explorer.hxx>
|
||||||
#include <TopoDS.hxx>
|
#include <TopoDS.hxx>
|
||||||
#include <TopoDS_Face.hxx>
|
#include <TopoDS_Face.hxx>
|
||||||
|
@@ -16,9 +16,6 @@
|
|||||||
|
|
||||||
#include <IntImpParGen.hxx>
|
#include <IntImpParGen.hxx>
|
||||||
|
|
||||||
#include <gp.hxx>
|
|
||||||
#include <gp_Pnt2d.hxx>
|
|
||||||
#include <gp_Vec2d.hxx>
|
|
||||||
#include <IntImpParGen_Tool.hxx>
|
#include <IntImpParGen_Tool.hxx>
|
||||||
#include <IntRes2d_Domain.hxx>
|
#include <IntRes2d_Domain.hxx>
|
||||||
#include <IntRes2d_Position.hxx>
|
#include <IntRes2d_Position.hxx>
|
||||||
|
@@ -18,9 +18,7 @@
|
|||||||
#define IntImpParGen_Tool_HeaderFile
|
#define IntImpParGen_Tool_HeaderFile
|
||||||
|
|
||||||
#include <IntRes2d_Domain.hxx>
|
#include <IntRes2d_Domain.hxx>
|
||||||
#include <IntRes2d_Position.hxx>
|
|
||||||
#include <IntRes2d_Transition.hxx>
|
#include <IntRes2d_Transition.hxx>
|
||||||
#include <gp_Vec2d.hxx>
|
|
||||||
#include <gp_Pnt2d.hxx>
|
#include <gp_Pnt2d.hxx>
|
||||||
|
|
||||||
Standard_Real NormalizeOnDomain(Standard_Real&,const IntRes2d_Domain&);
|
Standard_Real NormalizeOnDomain(Standard_Real&,const IntRes2d_Domain&);
|
||||||
|
@@ -16,12 +16,8 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <gp_Vec.hxx>
|
|
||||||
#include <IntAna_Curve.hxx>
|
|
||||||
#include <IntPatch_ALine.hxx>
|
#include <IntPatch_ALine.hxx>
|
||||||
#include <IntPatch_Point.hxx>
|
#include <IntPatch_Point.hxx>
|
||||||
#include <Standard_DomainError.hxx>
|
|
||||||
#include <Standard_OutOfRange.hxx>
|
|
||||||
#include <Standard_Type.hxx>
|
#include <Standard_Type.hxx>
|
||||||
|
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(IntPatch_ALine,IntPatch_Line)
|
IMPLEMENT_STANDARD_RTTIEXT(IntPatch_ALine,IntPatch_Line)
|
||||||
|
@@ -15,9 +15,6 @@
|
|||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
|
|
||||||
|
|
||||||
#include <Adaptor2d_Curve2d.hxx>
|
|
||||||
#include <Adaptor3d_Surface.hxx>
|
|
||||||
#include <gp_Pnt.hxx>
|
|
||||||
#include <IntPatch_ArcFunction.hxx>
|
#include <IntPatch_ArcFunction.hxx>
|
||||||
#include <IntPatch_HInterTool.hxx>
|
#include <IntPatch_HInterTool.hxx>
|
||||||
#include <IntSurf_Quadric.hxx>
|
#include <IntSurf_Quadric.hxx>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user