Merging from V3_2_6pre4
@ -350,7 +350,6 @@ echo
|
|||||||
|
|
||||||
AC_OUTPUT_COMMANDS([ \
|
AC_OUTPUT_COMMANDS([ \
|
||||||
chmod +x ./bin/*; \
|
chmod +x ./bin/*; \
|
||||||
chmod +x ./bin/salome/*; \
|
|
||||||
])
|
])
|
||||||
|
|
||||||
# This list is initiated using autoscan and must be updated manually
|
# This list is initiated using autoscan and must be updated manually
|
||||||
|
@ -16,14 +16,53 @@ if (navigator.appName !="Netscape")
|
|||||||
<!--
|
<!--
|
||||||
img_whs1 { width:20px; height:20px; border-style:none; }
|
img_whs1 { width:20px; height:20px; border-style:none; }
|
||||||
p.whs2 { font-size:12pt; }
|
p.whs2 { font-size:12pt; }
|
||||||
p.whs3 { font-size:12pt; margin-left:40px; }
|
p.whs3 { font-size:12pt; font-weight:normal; }
|
||||||
img_whs4 { border:none; width:312px; height:359px; float:none; border-style:none; }
|
p.whs4 { font-size:12pt; margin-left:40px; }
|
||||||
p.whs5 { color:#808080; font-size:12pt; }
|
img_whs5 { border:none; width:312px; height:359px; float:none; border-style:none; }
|
||||||
p.whs6 { font-size:12pt; color:#000000; }
|
p.whs6 { color:#808080; font-size:12pt; }
|
||||||
p.whs7 { color:#808080; font-size:12pt; margin-left:40px; }
|
p.whs7 { font-size:12pt; color:#000000; font-weight:normal; }
|
||||||
img_whs8 { border:none; width:330px; height:283px; float:none; border-style:none; }
|
img_whs8 { border:none; width:400px; height:385px; float:none; border-style:none; }
|
||||||
|
p.whs9 { font-size:12pt; color:#000000; }
|
||||||
|
table.whs10 { x-cell-content-align:top; width:86.687%; border-spacing:0px; }
|
||||||
|
col.whs11 { width:38.452%; }
|
||||||
|
col.whs12 { width:28.09%; }
|
||||||
|
col.whs13 { width:16.729%; }
|
||||||
|
tr.whs14 { x-cell-content-align:top; }
|
||||||
|
td.whs15 { width:38.452%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-left-style:none; border-top-style:none; }
|
||||||
|
td.whs16 { width:28.09%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-top-style:none; }
|
||||||
|
td.whs17 { width:16.729%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-top-style:none; border-right-style:none; }
|
||||||
|
td.whs18 { width:38.452%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-bottom-style:none; }
|
||||||
|
img_whs19 { border:none; float:none; width:316px; height:270px; border-style:none; }
|
||||||
|
td.whs20 { width:28.09%; padding-right:10px; padding-left:10px; border-right-style:none; border-bottom-style:none; }
|
||||||
|
img_whs21 { border:none; width:212px; height:270px; float:none; border-style:none; }
|
||||||
|
td.whs22 { width:16.729%; padding-right:10px; padding-left:10px; border-right-style:none; border-bottom-style:none; }
|
||||||
|
table.whs23 { x-cell-content-align:top; width:100%; border-spacing:0px; }
|
||||||
|
col.whs24 { width:100%; }
|
||||||
|
tr.whs25 { x-cell-content-align:top; height:40px; }
|
||||||
|
td.whs26 { width:100%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-left-style:none; border-top-style:none; border-right-style:none; }
|
||||||
|
p.whs27 { margin-right:-6px; }
|
||||||
|
tr.whs28 { x-cell-content-align:top; height:22px; }
|
||||||
|
td.whs29 { width:100%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-left-style:none; border-right-style:none; }
|
||||||
|
tr.whs30 { x-cell-content-align:top; height:41px; }
|
||||||
|
tr.whs31 { x-cell-content-align:top; height:30px; }
|
||||||
|
td.whs32 { width:100%; padding-right:10px; padding-left:10px; border-left-style:none; border-bottom-style:none; border-right-style:none; }
|
||||||
|
p.whs33 { margin-left:0px; }
|
||||||
|
img_whs34 { border:none; float:none; border-style:none; width:318px; height:269px; }
|
||||||
|
p.whs35 { color:#808080; font-size:12pt; margin-left:40px; }
|
||||||
-->
|
-->
|
||||||
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
</style><script type="text/javascript" language="JavaScript">
|
||||||
|
<!--
|
||||||
|
if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
|
||||||
|
{
|
||||||
|
var strNSS = "<style type='text/css'>";
|
||||||
|
strNSS += "p.whs27 {margin-right:1pt; }";
|
||||||
|
strNSS += "p.whs33 {margin-left:1pt; }";
|
||||||
|
strNSS +="</style>";
|
||||||
|
document.write(strNSS);
|
||||||
|
}
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
||||||
<!--
|
<!--
|
||||||
function reDo() {
|
function reDo() {
|
||||||
if (innerWidth != origWidth || innerHeight != origHeight)
|
if (innerWidth != origWidth || innerHeight != origHeight)
|
||||||
@ -91,39 +130,128 @@ if (window.writeIntopicBar)
|
|||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: normal;">You
|
<p class="whs3"><b style="font-weight: bold;"><span
|
||||||
can define an</span> Arc <span style="font-weight: normal;">by</span>
|
style="font-weight: normal;">There are 2 algorithms to create an </span><span
|
||||||
<span style="font-weight: normal;">three</span><span style="font-weight: bold;"><B>
|
style="font-weight: bold;"><B>Arc</B></span><span style="font-weight: normal;">
|
||||||
Points </B></span><span style="font-weight: normal;">that lie on it, where
|
in the 3D space. </span></b></p>
|
||||||
</span></b>Point1 is the starting point, Point2 is a middle point of the
|
|
||||||
arc and Point3 is the ending point of the arc.</p>
|
|
||||||
|
|
||||||
<p class="whs2"><b><span style="font-weight: normal;">The</span>
|
<p class="whs2"><b><span style="font-weight: normal;">The Result
|
||||||
Result <span style="font-weight: normal;">of the operation will be a</span></b><b>
|
of each operation will be a</span></b><b> <span style="font-weight: normal;">GEOM_Object
|
||||||
<span style="font-weight: normal;">GEOM_Object (edge).</span></b></p>
|
(edge).</span></b></p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
<p class="whs2"><b style="font-weight: bold;">TUI Command:</b>
|
<p class="whs2"><b style="font-weight: bold;"><span style="font-weight: normal;">Firstly,
|
||||||
<span style="font-style: italic;"><I>geompy.MakeArc(Point1, Point2, Point3)</I></span></p>
|
you can define an</span> Arc <span style="font-weight: normal;">by</span>
|
||||||
|
<span style="font-weight: normal;">three</span><span style="font-weight: bold;"><B>
|
||||||
|
Points </B></span><span style="font-weight: normal;">that lie on it, where
|
||||||
|
</span></b>Point1
|
||||||
|
is the starting point, Point2
|
||||||
|
is a middle point of the arc and Point3
|
||||||
|
is the ending point of the arc.</p>
|
||||||
|
|
||||||
|
<p class="whs2"><b style="font-weight: bold;">TUI
|
||||||
|
Command:</b> <span style="font-style: italic;"><I>geompy.MakeArc(Point1,
|
||||||
|
Point2, Point3)</I></span></p>
|
||||||
|
|
||||||
<p class="whs2"><b style="font-weight: bold;">Arguments:</b>
|
<p class="whs2"><b style="font-weight: bold;">Arguments:</b>
|
||||||
Name + 3 vertices.</p>
|
Name + 3 vertices.</p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
<p class="whs3"><img src="pics/arc.png" x-maintain-ratio="TRUE" width="312px" height="359px" border="0" class="img_whs4"></p>
|
<p class="whs4"><img src="pics/arc.png" x-maintain-ratio="TRUE" width="312px" height="359px" border="0" class="img_whs5"></p>
|
||||||
|
|
||||||
<p class="whs5"> </p>
|
<p class="whs6"> </p>
|
||||||
|
|
||||||
<p class="whs6"><b style="font-weight: bold;">Example:</b></p>
|
<p class="whs7"><b style="font-weight: normal;">Secondly,
|
||||||
|
you can define an <span style="font-weight: bold;"><B>Arc</B></span> by </b><span
|
||||||
|
style="font-weight: bold;"><B>Center, Start</B></span> and <span style="font-weight: bold;"><B>End</B></span>
|
||||||
|
points. The arc is built from the <span style="font-weight: bold;"><B>Start</B></span>
|
||||||
|
point to the <span style="font-weight: bold;"><B>End</B></span> point. The radius
|
||||||
|
of the arc is defined by the distance between the <span style="font-weight: bold;"><B>Center</B></span>
|
||||||
|
point and the <span style="font-weight: bold;"><B>Start</B></span> point. The
|
||||||
|
<span style="font-weight: bold;"><B>End</B></span> point defines the angle of
|
||||||
|
the arc. If the distance between the <span style="font-weight: bold;"><B>Center</B></span>
|
||||||
|
point and the <span style="font-weight: bold;"><B>End</B></span> point is not
|
||||||
|
equal to the radius, the arc will be built anyway.</p>
|
||||||
|
|
||||||
<p class="whs5"> </p>
|
<p class="whs7"><span style="font-weight: bold;"><B>Reverse</B></span>
|
||||||
|
radio button allows to change the direction of the arc.</p>
|
||||||
|
|
||||||
<p class="whs7"><img src="pics/arcsn.png" x-maintain-ratio="TRUE" width="330px" height="283px" border="0" class="img_whs8"></p>
|
<p class="whs7"><b style="font-weight: bold;">TUI Command:</b>
|
||||||
|
<span style="font-style: italic;"><I>geompy.MakeArcCenter(Center Point, Start
|
||||||
|
Point, End Point, boolean Sense)</I></span></p>
|
||||||
|
|
||||||
|
<p class="whs7"><span style="font-style: italic;"><I><b
|
||||||
|
style="font-weight: bold;">A</I></span>rguments:</b> Name + 3 vertices + Boolean.</p>
|
||||||
|
|
||||||
<p class="whs7"> </p>
|
<p class="whs7"> </p>
|
||||||
|
|
||||||
|
<p class="whs4"><img src="pics/arc2.png" x-maintain-ratio="TRUE" width="400px" height="385px" border="0" class="img_whs8"></p>
|
||||||
|
|
||||||
|
<p class="whs9"> </p>
|
||||||
|
|
||||||
|
<p class="whs9"><b style="font-weight: bold;">Example:</b></p>
|
||||||
|
|
||||||
|
<p class="whs9"> </p>
|
||||||
|
|
||||||
|
<table x-use-null-cells cellspacing="0" width="86.687%" class="whs10">
|
||||||
|
<col class="whs11">
|
||||||
|
<col class="whs12">
|
||||||
|
<col class="whs13">
|
||||||
|
<col class="whs13">
|
||||||
|
|
||||||
|
<tr valign="top" class="whs14">
|
||||||
|
<td width="38.452%" class="whs15">
|
||||||
|
<p>Arc by three points lying on it.</td>
|
||||||
|
<td width="28.09%" class="whs16">
|
||||||
|
<p>Arc by Start, End and Center.</td>
|
||||||
|
<td colspan="1" rowspan="1" width="16.729%" class="whs17">
|
||||||
|
<p> </td>
|
||||||
|
<td width="16.729%" class="whs17">
|
||||||
|
<p>Reversed arc.</td></tr>
|
||||||
|
|
||||||
|
<tr valign="top" class="whs14">
|
||||||
|
<td width="38.452%" class="whs18">
|
||||||
|
<p class="whs6"><img src="pics/arcsn.png" x-maintain-ratio="TRUE" width="316px" height="270px" border="0" class="img_whs19"></td>
|
||||||
|
<td width="28.09%" class="whs20">
|
||||||
|
<p><img src="pics/arcsn1.png" x-maintain-ratio="TRUE" width="212px" height="270px" border="0" class="img_whs21"></td>
|
||||||
|
<td colspan="1" rowspan="1" width="16.729%" class="whs22">
|
||||||
|
<table x-use-null-cells cellspacing="0" width="100%" class="whs23">
|
||||||
|
<col class="whs24">
|
||||||
|
|
||||||
|
<tr valign="top" class="whs25">
|
||||||
|
<td width="100%" class="whs26">
|
||||||
|
<p class="whs27">Start Point</td></tr>
|
||||||
|
|
||||||
|
<tr valign="top" class="whs28">
|
||||||
|
<td width="100%" class="whs29">
|
||||||
|
<p> </td></tr>
|
||||||
|
|
||||||
|
<tr valign="top" class="whs30">
|
||||||
|
<td width="100%" class="whs29">
|
||||||
|
<p> </td></tr>
|
||||||
|
|
||||||
|
<tr valign="top" class="whs25">
|
||||||
|
<td width="100%" class="whs29">
|
||||||
|
<p>Center Point</td></tr>
|
||||||
|
|
||||||
|
<tr valign="top" class="whs31">
|
||||||
|
<td width="100%" class="whs29">
|
||||||
|
<p> </td></tr>
|
||||||
|
|
||||||
|
<tr valign="top" class="whs25">
|
||||||
|
<td width="100%" class="whs32">
|
||||||
|
<p>End Point</td></tr>
|
||||||
|
</table>
|
||||||
|
<p class="whs33"> </p>
|
||||||
|
<p> </td>
|
||||||
|
<td width="16.729%" class="whs22">
|
||||||
|
<p><img src="pics/arcsn2.png" x-maintain-ratio="TRUE" width="318px" height="269px" border="0" class="img_whs34"></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p class="whs35"> </p>
|
||||||
|
|
||||||
<p class="whs2">Our TUI Scripts provide you with useful examples
|
<p class="whs2">Our TUI Scripts provide you with useful examples
|
||||||
of creation of <a href="basic_geometrical_objects.htm">Basic Geometric
|
of creation of <a href="basic_geometrical_objects.htm">Basic Geometric
|
||||||
Objects</a>. </p>
|
Objects</a>. </p>
|
||||||
|
@ -217,6 +217,7 @@ image56.gif
|
|||||||
files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif
|
files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif
|
||||||
files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image4.gif
|
files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image4.gif
|
||||||
salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image17.gif
|
salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image17.gif
|
||||||
|
pics\view_rotation_point.png
|
||||||
pics\clipping.png
|
pics\clipping.png
|
||||||
pics\image98.gif
|
pics\image98.gif
|
||||||
pics\archimedesn1.png
|
pics\archimedesn1.png
|
||||||
@ -317,7 +318,6 @@ pics\sectionsn.png
|
|||||||
pics\fusesn2.png
|
pics\fusesn2.png
|
||||||
pics\toruses.png
|
pics\toruses.png
|
||||||
pics\circles.png
|
pics\circles.png
|
||||||
pics\neo-materials.png
|
|
||||||
pics\neo-obj3.png
|
pics\neo-obj3.png
|
||||||
pics\neo-localcs2.png
|
pics\neo-localcs2.png
|
||||||
pics\measures1.png
|
pics\measures1.png
|
||||||
@ -332,6 +332,7 @@ image29.gif
|
|||||||
image160.jpg
|
image160.jpg
|
||||||
files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image133.gif
|
files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image133.gif
|
||||||
files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif
|
files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif
|
||||||
|
pics\partition2.png
|
||||||
pics\changeorientation.png
|
pics\changeorientation.png
|
||||||
pics\pipesn.png
|
pics\pipesn.png
|
||||||
pics\pipe_wire_edgesn.png
|
pics\pipe_wire_edgesn.png
|
||||||
@ -347,7 +348,6 @@ pics\neo-obj4.png
|
|||||||
pics\neo-localcs3.png
|
pics\neo-localcs3.png
|
||||||
pics\repair4.png
|
pics\repair4.png
|
||||||
pics\bool2.png
|
pics\bool2.png
|
||||||
pics\partition2.png
|
|
||||||
pics\block5.png
|
pics\block5.png
|
||||||
pics\sphere2.png
|
pics\sphere2.png
|
||||||
pics\point1.png
|
pics\point1.png
|
||||||
@ -367,6 +367,7 @@ pics\ellipse.png
|
|||||||
pics\circle1.png
|
pics\circle1.png
|
||||||
image3.gif
|
image3.gif
|
||||||
files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image56.gif
|
files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image56.gif
|
||||||
|
pics\set_rotation_point_dialog1.png
|
||||||
pics\extrusion1.png
|
pics\extrusion1.png
|
||||||
image4.gif
|
image4.gif
|
||||||
pics\isos_u12_v12sn.png
|
pics\isos_u12_v12sn.png
|
||||||
@ -387,6 +388,7 @@ pics\circle2.png
|
|||||||
pics\point3.png
|
pics\point3.png
|
||||||
image185.jpg
|
image185.jpg
|
||||||
files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image57.gif
|
files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image57.gif
|
||||||
|
pics\set_rotation_point_dialog2.png
|
||||||
pics\extrusion2.png
|
pics\extrusion2.png
|
||||||
image5.gif
|
image5.gif
|
||||||
pics\free_boudaries2.png
|
pics\free_boudaries2.png
|
||||||
@ -457,6 +459,7 @@ files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image122.g
|
|||||||
files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image100.gif
|
files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image100.gif
|
||||||
files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image99.gif
|
files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image99.gif
|
||||||
salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image13.gif
|
salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image13.gif
|
||||||
|
pics\transformation4a.png
|
||||||
pics\image100.gif
|
pics\image100.gif
|
||||||
pics\geomcreategroup.png
|
pics\geomcreategroup.png
|
||||||
pics\commonsn.png
|
pics\commonsn.png
|
||||||
|
BIN
doc/salome/gui/GEOM/image2.jpg
Executable file
After Width: | Height: | Size: 13 KiB |
BIN
doc/salome/gui/GEOM/image34.gif
Executable file
After Width: | Height: | Size: 1.8 KiB |
BIN
doc/salome/gui/GEOM/image36.gif
Executable file
After Width: | Height: | Size: 2.9 KiB |
BIN
doc/salome/gui/GEOM/image47.gif
Executable file
After Width: | Height: | Size: 2.9 KiB |
@ -1,258 +0,0 @@
|
|||||||
<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
|
|
||||||
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<title>OCC_Viewer</title>
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
|
|
||||||
<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
|
|
||||||
<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
|
|
||||||
<!--
|
|
||||||
if (navigator.appName !="Netscape")
|
|
||||||
{ document.write("<link rel='stylesheet' href='default.css'>");}
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
<style type="text/css">
|
|
||||||
<!--
|
|
||||||
img_whs1 { border:none; width:313px; height:26px; float:none; }
|
|
||||||
ul.whs2 { list-style:disc; }
|
|
||||||
img_whs3 { border:none; width:26px; height:25px; float:none; border-style:none; }
|
|
||||||
img_whs4 { border:none; width:27px; height:25px; float:none; border-style:none; }
|
|
||||||
img_whs5 { border:none; width:24px; height:23px; float:none; border-style:none; }
|
|
||||||
img_whs6 { border:none; width:24px; height:24px; float:none; border-style:none; }
|
|
||||||
img_whs7 { border:none; width:25px; height:24px; float:none; border-style:none; }
|
|
||||||
img_whs8 { border:none; width:23px; height:23px; float:none; border-style:none; }
|
|
||||||
p.whs9 { margin-top:0pt; margin-bottom:0pt; }
|
|
||||||
img_whs10 { border:none; border-style:none; width:20px; height:20px; float:none; }
|
|
||||||
p.whs11 { margin-left:80px; }
|
|
||||||
img_whs12 { border:none; border-style:none; width:410px; height:255px; float:none; }
|
|
||||||
img_whs13 { border:none; width:26px; height:26px; float:none; border-style:none; }
|
|
||||||
img_whs14 { border:none; width:78px; height:147px; float:none; border-style:none; }
|
|
||||||
img_whs15 { border:none; height:26px; float:none; width:29px; border-style:none; }
|
|
||||||
img_whs16 { border:none; width:26px; height:24px; float:none; border-style:none; }
|
|
||||||
img_whs17 { border:none; width:28px; height:29px; float:none; border-style:none; }
|
|
||||||
img_whs18 { border:none; width:29px; height:26px; float:none; border-style:none; }
|
|
||||||
img_whs19 { border:none; width:395px; height:280px; float:none; border-style:none; }
|
|
||||||
p.whs20 { margin-left:40px; }
|
|
||||||
p.whs21 { margin-left:84px; }
|
|
||||||
-->
|
|
||||||
</style><script type="text/javascript" language="JavaScript">
|
|
||||||
<!--
|
|
||||||
if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
|
|
||||||
{
|
|
||||||
var strNSS = "<style type='text/css'>";
|
|
||||||
strNSS += "p.whs9 {margin-top:1pt;margin-bottom:1pt; }";
|
|
||||||
strNSS +="</style>";
|
|
||||||
document.write(strNSS);
|
|
||||||
}
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
|
||||||
<!--
|
|
||||||
function reDo() {
|
|
||||||
if (innerWidth != origWidth || innerHeight != origHeight)
|
|
||||||
location.reload();
|
|
||||||
}
|
|
||||||
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
|
|
||||||
origWidth = innerWidth;
|
|
||||||
origHeight = innerHeight;
|
|
||||||
onresize = reDo;
|
|
||||||
}
|
|
||||||
onerror = null;
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
<style type="text/css">
|
|
||||||
<!--
|
|
||||||
div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
|
|
||||||
p.WebHelpNavBar { text-align:right; }
|
|
||||||
-->
|
|
||||||
</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
|
|
||||||
<script type="text/javascript" language="javascript" src="whver.js"></script>
|
|
||||||
<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
|
|
||||||
<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
|
|
||||||
<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
|
|
||||||
<script type="text/javascript" language="javascript1.2">
|
|
||||||
<!--
|
|
||||||
if (window.gbWhTopic)
|
|
||||||
{
|
|
||||||
if (window.setRelStartPage)
|
|
||||||
{
|
|
||||||
addTocInfo("Geometry module\nViewing geometrical objects\nOCC 3D Viewer");
|
|
||||||
addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
|
|
||||||
addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (window.setRelStartPage)
|
|
||||||
{
|
|
||||||
setRelStartPage("index.htm");
|
|
||||||
|
|
||||||
autoSync(1);
|
|
||||||
sendSyncInfo();
|
|
||||||
sendAveInfoOut();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
if (window.gbIE4)
|
|
||||||
document.location.reload();
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body><script type="text/javascript" language="javascript1.2">
|
|
||||||
<!--
|
|
||||||
if (window.writeIntopicBar)
|
|
||||||
writeIntopicBar(4);
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
<h1>OCC 3D Viewer</h1>
|
|
||||||
|
|
||||||
<p><span style="font-weight: bold;"><B>OCC (Open CasCade) 3D viewer</B></span>
|
|
||||||
has been developed on the basis of Open CASCADE Technology. This is the
|
|
||||||
default viewer for Geometry Module, providing good representation of construction
|
|
||||||
and transformation of geometrical objects. Only this viewer allows to
|
|
||||||
work with groups and sub-shapes. This viewer can also work in Mesh module,
|
|
||||||
however, it doesn't allow to visualize meshes. </p>
|
|
||||||
|
|
||||||
<p> </p>
|
|
||||||
|
|
||||||
<p>The functions of OCC viewer are available via its Viewer Toolbar. Buttons
|
|
||||||
marked with small downward triangles have extended functionality which
|
|
||||||
can be accessed by locking on them with left mouse button. </p>
|
|
||||||
|
|
||||||
<p> </p>
|
|
||||||
|
|
||||||
<p><img src="pics/image95.gif" x-maintain-ratio="TRUE" width="313px" height="26px" border="0" class="img_whs1"></p>
|
|
||||||
|
|
||||||
<p> </p>
|
|
||||||
|
|
||||||
<ul type="disc" class="whs2">
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image77.gif" x-maintain-ratio="TRUE" width="26px" height="25px" border="0" class="img_whs3"> <span style="font-weight: bold;"><B>Dump
|
|
||||||
View</B></span> - exports an object from the viewer in bmp, png, jpg or jpeg
|
|
||||||
image format. </p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image88.gif" x-maintain-ratio="TRUE" width="27px" height="25px" border="0" class="img_whs4"> <span style="font-weight: bold;"><B>Show/Hide
|
|
||||||
Trihedron</B></span> - shows or hides coordinate axes. </p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image96.gif" x-maintain-ratio="TRUE" width="24px" height="23px" border="0" class="img_whs5"> <span
|
|
||||||
style="font-weight: bold;"><B>Fit all - </B></span>allows
|
|
||||||
to select a point to be the center of a scene representing all displayed
|
|
||||||
objects in the visible area.<span style="font-weight: bold;"> <B></B></span></p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p> <img src="pics/image97.gif" x-maintain-ratio="TRUE" width="24px" height="24px" border="0" class="img_whs6"> <span style="font-weight: bold;"><B>Fit area</B></span> - resizes
|
|
||||||
the view to place in the visible area only the contents of a frame drawn
|
|
||||||
with pressed left mouse button.</p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image98.gif" x-maintain-ratio="TRUE" width="25px" height="24px" border="0" class="img_whs7"> <span style="font-weight: bold;"><B>Zoom</B></span>
|
|
||||||
- allows
|
|
||||||
to zoom in and out. </p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image99.gif" x-maintain-ratio="TRUE" width="23px" height="23px" border="0" class="img_whs8"> <span style="font-weight: bold;"><B>Panning</B></span>
|
|
||||||
- if the represented objects are greater that the visible area and you
|
|
||||||
don't wish to use <span style="font-weight: bold;"><B>Fit all</B></span> functionality,
|
|
||||||
click on this button and you'll be able to drag the scene to see its remote
|
|
||||||
parts. </p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image100.gif" x-maintain-ratio="TRUE" width="24px" height="24px" border="0" class="img_whs6"> <span style="font-weight: bold;"><B>Global
|
|
||||||
panning</B></span> - represents all displayed objects in the visible area.
|
|
||||||
</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<ul type="disc" class="whs2">
|
|
||||||
|
|
||||||
<li class=kadov-p><p class="whs9"><img src="pics/view_rotation_point.png" x-maintain-ratio="TRUE" width="20px" height="20px" border="0" class="img_whs10"> <span style="font-weight: bold;"><B>Change rotation point</B></span>
|
|
||||||
- allows to to choose the point around which the rotation is performed</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p class="whs11"><img src="pics/set_rotation_point_dialog1.png" x-maintain-ratio="TRUE" width="410px" height="255px" border="0" class="img_whs12"></p>
|
|
||||||
|
|
||||||
<p class="whs11"> </p>
|
|
||||||
|
|
||||||
<p class="whs11">By default the rotation point is located
|
|
||||||
in the Center of the bounding box of an object. </p>
|
|
||||||
|
|
||||||
<p class="whs11"> </p>
|
|
||||||
|
|
||||||
<p class="whs11"><img src="pics/set_rotation_point_dialog2.png" x-maintain-ratio="TRUE" width="410px" height="255px" border="0" class="img_whs12"></p>
|
|
||||||
|
|
||||||
<p class="whs11"> </p>
|
|
||||||
|
|
||||||
<p class="whs11">Unchecking <span style="font-weight: bold;"><B>Use
|
|
||||||
Bounding Box Center</B></span> box allows you to define the coordinates of
|
|
||||||
the rotation point manually. </p>
|
|
||||||
|
|
||||||
<p class="whs11"> </p>
|
|
||||||
|
|
||||||
<p class="whs11"><span style="font-weight: bold;"><B>Set to Origin</B></span>
|
|
||||||
button restores the default rotation point coordinates.</p>
|
|
||||||
|
|
||||||
<p class="whs11"><span style="font-weight: bold;"><B>Select Point
|
|
||||||
from View</B></span> button allows to select the rotation point in the 3D
|
|
||||||
Viewer</p>
|
|
||||||
|
|
||||||
<p> </p>
|
|
||||||
|
|
||||||
<ul type="disc" class="whs2">
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image89.gif" x-maintain-ratio="TRUE" width="26px" height="26px" border="0" class="img_whs13"> <span style="font-weight: bold;"><B>Rotation</B></span>
|
|
||||||
- allows to rotate the selected object using the mouse. </p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image102.gif" x-maintain-ratio="TRUE" width="78px" height="147px" border="0" class="img_whs14"> These buttons orientate the scene
|
|
||||||
strictly about coordinate axes.</p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image91.gif" x-maintain-ratio="TRUE" height="26px" width="29px" border="0" class="img_whs15"> <span style="font-weight: bold;"><B>Reset</B></span>
|
|
||||||
- restores the default position (isometric) of objects in the scene.</p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image103.gif" x-maintain-ratio="TRUE" width="26px" height="24px" border="0" class="img_whs16"> <span style="font-weight: bold;"><B>Memorise
|
|
||||||
view</B></span> - saves the current position of objects in the scene</p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image105.gif" x-maintain-ratio="TRUE" width="26px" height="25px" border="0" class="img_whs3"> <span style="font-weight: bold;"><B>Restore
|
|
||||||
view - </B></span>restores the<span style="font-weight: bold;"> <B></B></span>saved
|
|
||||||
position of objects in the scene</p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image86.gif" x-maintain-ratio="TRUE" width="28px" height="29px" border="0" class="img_whs17"> <span style="font-weight: bold;"><B>Clone
|
|
||||||
view</B></span> - opens a new duplicate scene.</p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p><img src="pics/image106.gif" x-maintain-ratio="TRUE" width="29px" height="26px" border="0" class="img_whs18"> <span style="font-weight: bold;"><B>Clipping
|
|
||||||
-</B></span> allows to create cross-section views (clipping planes) of geometrical
|
|
||||||
objects.</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p> </p>
|
|
||||||
|
|
||||||
<p class="whs11"><img src="pics/clipping.png" x-maintain-ratio="TRUE" width="395px" height="280px" border="0" class="img_whs19"></p>
|
|
||||||
|
|
||||||
<p class="whs20"> </p>
|
|
||||||
|
|
||||||
<ul type="disc" class="whs2">
|
|
||||||
|
|
||||||
<li class=kadov-p><p class="whs20"><span style="font-weight: bold;"><B>Base
|
|
||||||
point</B></span> - allows to define the coordinates of the base point for
|
|
||||||
the clipping plane. Click </p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p class="whs21"><span style="font-weight: bold;"><B>Reset</B></span>
|
|
||||||
- returns the base point to coordinate origin. </p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p class="whs20"><span style="font-weight: bold;"><B>Direction</B></span>
|
|
||||||
- allows to define the orientation of the clipping plane.</p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p class="whs21"><span style="font-weight: bold;"><B>Invert</B></span>
|
|
||||||
- allows to select which part of the object will be removed and which
|
|
||||||
will remain after clipping. </p></li>
|
|
||||||
|
|
||||||
<li class=kadov-p><p class="whs20"><span style="font-weight: bold;"><B>Preview</B></span>
|
|
||||||
- allows to see the results of clipping in the viewer.</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p> </p>
|
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript1.2">
|
|
||||||
<!--
|
|
||||||
if (window.writeIntopicBar)
|
|
||||||
writeIntopicBar(0);
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
BIN
doc/salome/gui/GEOM/pics/arc2.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
doc/salome/gui/GEOM/pics/arcsn1.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
doc/salome/gui/GEOM/pics/arcsn2.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 984 B |
Before Width: | Height: | Size: 1022 B |
Before Width: | Height: | Size: 1017 B |
Before Width: | Height: | Size: 1000 B |
Before Width: | Height: | Size: 1020 B |
Before Width: | Height: | Size: 1010 B |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 293 B |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 14 KiB |
@ -21,7 +21,8 @@ p.whs4 { font-size:12pt; font-weight:bold; }
|
|||||||
p.whs5 { font-size:12pt; margin-left:40px; }
|
p.whs5 { font-size:12pt; margin-left:40px; }
|
||||||
img_whs6 { border:none; width:312px; height:324px; float:none; border-style:none; }
|
img_whs6 { border:none; width:312px; height:324px; float:none; border-style:none; }
|
||||||
img_whs7 { border:none; width:312px; height:358px; float:none; border-style:none; }
|
img_whs7 { border:none; width:312px; height:358px; float:none; border-style:none; }
|
||||||
img_whs8 { border:none; width:298px; height:302px; float:none; border-style:none; }
|
p.whs8 { font-size:12pt; margin-left:40px; font-weight:bold; }
|
||||||
|
img_whs9 { border:none; width:156px; height:203px; }
|
||||||
-->
|
-->
|
||||||
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
||||||
<!--
|
<!--
|
||||||
@ -137,7 +138,7 @@ if (window.writeIntopicBar)
|
|||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
<p class="whs5"><b style="font-weight: bold;"><img src="pics/vectors.png" x-maintain-ratio="TRUE" width="298px" height="302px" border="0" class="img_whs8"></b></p>
|
<p class="whs8"><img src="image34.gif" width="156px" height="203px" border="0" class="img_whs9"></p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ ul.whs2 { list-style:disc; }
|
|||||||
p.whs3 { font-weight:bold; }
|
p.whs3 { font-weight:bold; }
|
||||||
img_whs4 { border:none; width:26px; height:26px; border-style:none; }
|
img_whs4 { border:none; width:26px; height:26px; border-style:none; }
|
||||||
img_whs5 { border:none; width:23px; height:24px; border-style:none; }
|
img_whs5 { border:none; width:23px; height:24px; border-style:none; }
|
||||||
|
img_whs6 { border:none; width:279px; height:230px; border-style:none; }
|
||||||
-->
|
-->
|
||||||
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
||||||
<!--
|
<!--
|
||||||
@ -82,11 +83,13 @@ if (window.writeIntopicBar)
|
|||||||
<h1>Viewing Geometrical Objects</h1>
|
<h1>Viewing Geometrical Objects</h1>
|
||||||
|
|
||||||
<p>Newly created geometrical objects are automatically displayed in the
|
<p>Newly created geometrical objects are automatically displayed in the
|
||||||
<span style="font-weight: bold;"><B><a href="occ_viewer.htm">OCC 3D Viewer</a></B></span>.
|
<span style="font-weight: bold;"><B>OCC 3D Viewer</B></span>. </p>
|
||||||
</p>
|
|
||||||
|
|
||||||
<p> </p>
|
<p> </p>
|
||||||
|
|
||||||
|
<p><span style="font-weight: bold;"><B>OCC 3D Viewer</B></span> is described in
|
||||||
|
the documentation on <span style="font-weight: bold;"><B>GUI module</B></span>.</p>
|
||||||
|
|
||||||
<p>After the object has appeared in the Viewer, you can select it with
|
<p>After the object has appeared in the Viewer, you can select it with
|
||||||
left mouse click to change its presentation parameters and access to other
|
left mouse click to change its presentation parameters and access to other
|
||||||
useful options by right-clicking on the selected object<span style="font-weight: bold;"><B>.</B></span></p>
|
useful options by right-clicking on the selected object<span style="font-weight: bold;"><B>.</B></span></p>
|
||||||
@ -136,8 +139,9 @@ if (window.writeIntopicBar)
|
|||||||
all recent changes.</p></li>
|
all recent changes.</p></li>
|
||||||
|
|
||||||
<li class=kadov-p><p><span style="font-weight: bold;"><B>Dump view</B></span>
|
<li class=kadov-p><p><span style="font-weight: bold;"><B>Dump view</B></span>
|
||||||
- exports an object from the viewer in bmp, png, jpg or jpeg image format.
|
- exports an object from the viewer in bmp,
|
||||||
</p></li>
|
png, jpg or
|
||||||
|
jpeg image format. </p></li>
|
||||||
|
|
||||||
<li class=kadov-p><p><span style="font-weight: bold;"><B>Change background</B></span>
|
<li class=kadov-p><p><span style="font-weight: bold;"><B>Change background</B></span>
|
||||||
- allows to redefine the background color. By default it is black. </p></li>
|
- allows to redefine the background color. By default it is black. </p></li>
|
||||||
@ -145,6 +149,26 @@ if (window.writeIntopicBar)
|
|||||||
|
|
||||||
<p> </p>
|
<p> </p>
|
||||||
|
|
||||||
|
<p>Some of these functionalities are available through right-clicking on
|
||||||
|
the viewer background:</p>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
<p><img src="image2.jpg" width="279px" height="230px" border="0" class="img_whs6"></p>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
<ul type="disc" class="whs2">
|
||||||
|
|
||||||
|
<li class=kadov-p><p><span style="font-weight: bold;"><B>Select Only</B></span>
|
||||||
|
provides a filter for exclusive selection of objects of a certain type.
|
||||||
|
</p></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript1.2">
|
<script type="text/javascript" language="javascript1.2">
|
||||||
<!--
|
<!--
|
||||||
if (window.writeIntopicBar)
|
if (window.writeIntopicBar)
|
||||||
|
@ -48,7 +48,7 @@ aWE("23",44);
|
|||||||
aWE("25",3,5,6,57,74);
|
aWE("25",3,5,6,57,74);
|
||||||
aWE("250",37,44,59,68);
|
aWE("250",37,44,59,68);
|
||||||
aWE("2d",5,35,59,65,74,31);
|
aWE("2d",5,35,59,65,74,31);
|
||||||
aWE("3",1,2,5,7,11,14,18,20,37,40,44,48,55,56,59,67,74,75,31,78);
|
aWE("3",1,2,5,7,11,14,18,20,37,40,44,48,55,56,59,61,67,74,75,31,78);
|
||||||
aWE("30",3,8,11,18,37,44,57,59,68,74);
|
aWE("30",3,8,11,18,37,44,57,59,68,74);
|
||||||
aWE("300",37,68);
|
aWE("300",37,68);
|
||||||
aWE("300000",44);
|
aWE("300000",44);
|
||||||
@ -56,7 +56,7 @@ aWE("31",11);
|
|||||||
aWE("32",59);
|
aWE("32",59);
|
||||||
aWE("32000",44);
|
aWE("32000",44);
|
||||||
aWE("35",6,8,57,59,74);
|
aWE("35",6,8,57,59,74);
|
||||||
aWE("3d",14,21,35,43,51,53,55,56,59,65,71,31,33,78,79,81,83);
|
aWE("3d",14,21,35,43,51,55,56,59,65,71,31,33,78,79,81,83);
|
||||||
aWE("4",50,37,40,44,48,67,74,31);
|
aWE("4",50,37,40,44,48,67,74,31);
|
||||||
aWE("40",6,8,18,37,57,59,74);
|
aWE("40",6,8,18,37,57,59,74);
|
||||||
aWE("41",59);
|
aWE("41",59);
|
||||||
@ -87,16 +87,16 @@ aWE("addobject",40,83);
|
|||||||
aWE("addtostudy",3,4,5,6,8,11,18,37,40,57,59,68,74);
|
aWE("addtostudy",3,4,5,6,8,11,18,37,40,57,59,68,74);
|
||||||
aWE("addtostudyinfath",5,59);
|
aWE("addtostudyinfath",5,59);
|
||||||
aWE("advanc",7,19,24,28,29,37,66,69,70,80);
|
aWE("advanc",7,19,24,28,29,37,66,69,70,80);
|
||||||
aWE("algorithm",7,14,20,21,23,28,43,46,53,55,56,67,70,77,78,82);
|
aWE("algorithm",7,14,20,21,23,28,43,46,55,56,61,67,70,77,78,82);
|
||||||
aWE("all_fac",59);
|
aWE("all_fac",59);
|
||||||
aWE("allow",50,9,26,45,46,47,51,61,64,65,67,72,75,33,79);
|
aWE("allow",50,9,26,43,45,46,47,51,53,61,64,65,67,72,75,33,79);
|
||||||
aWE("along",7,9,46,49,52,54,74,75);
|
aWE("along",7,9,46,49,52,54,74,75);
|
||||||
aWE("alongsid",31);
|
aWE("alongsid",31);
|
||||||
aWE("already",40);
|
aWE("already",40);
|
||||||
aWE("although",46);
|
aWE("although",46);
|
||||||
aWE("angl",47,59,60,61,65,67,74);
|
aWE("angl",47,59,60,61,65,67,74);
|
||||||
aWE("anoth",22,42,55,56,70,74);
|
aWE("anoth",22,42,55,56,70,74);
|
||||||
aWE("any",53,61,65,75);
|
aWE("any",43,53,61,65,75);
|
||||||
aWE("ap",43,74,83);
|
aWE("ap",43,74,83);
|
||||||
aWE("appear",79,83);
|
aWE("appear",79,83);
|
||||||
aWE("append",18,37,74);
|
aWE("append",18,37,74);
|
||||||
@ -110,14 +110,14 @@ aWE("arc2",18);
|
|||||||
aWE("archimed",2,4);
|
aWE("archimed",2,4);
|
||||||
aWE("area",44,51);
|
aWE("area",44,51);
|
||||||
aWE("argument",0,1,2,50,7,9,10,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,41,42,43,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,66,67,69,70,71,72,73,75,77,31,78,80,82,83);
|
aWE("argument",0,1,2,50,7,9,10,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,41,42,43,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,66,67,69,70,71,72,73,75,77,31,78,80,82,83);
|
||||||
aWE("around",47,60,74);
|
aWE("around",47,51,60,74);
|
||||||
aWE("automatical",50,43,79);
|
aWE("automatical",50,43,79);
|
||||||
aWE("availabl",0,50,15,32,51,67,71,72,73,83);
|
aWE("availabl",0,50,15,32,51,67,71,72,73,83);
|
||||||
aWE("ax",7,43,49,51,75);
|
aWE("ax",7,43,49,51,75);
|
||||||
aWE("axi",18,20,23,43,45,46,47,60,61,74,33);
|
aWE("axi",18,20,23,43,45,46,47,60,61,74,33);
|
||||||
aWE("b",3,21,65);
|
aWE("b",3,21,65);
|
||||||
aWE("background",79);
|
aWE("background",79);
|
||||||
aWE("bas",20,23,28,47,51,54,59,60,62,65,75,77);
|
aWE("bas",20,23,28,43,47,51,54,59,60,62,65,75,77);
|
||||||
aWE("baseshap",54);
|
aWE("baseshap",54);
|
||||||
aWE("basi",28,51);
|
aWE("basi",28,51);
|
||||||
aWE("basic",1,2,3,4,14,21,25,38,30,42,43,44,53,55,56,67,33,78,82);
|
aWE("basic",1,2,3,4,14,21,25,38,30,42,43,44,53,55,56,67,33,78,82);
|
||||||
@ -136,11 +136,11 @@ aWE("bmp",51,79);
|
|||||||
aWE("boolean",6,17,22,36,38,30,63,31,33);
|
aWE("boolean",6,17,22,36,38,30,63,31,33);
|
||||||
aWE("both",7,20,48,49,65);
|
aWE("both",7,20,48,49,65);
|
||||||
aWE("boudari",59);
|
aWE("boudari",59);
|
||||||
aWE("bound",8,37,44,33);
|
aWE("bound",8,37,44,51,33);
|
||||||
aWE("boundari",12,59,64,72);
|
aWE("boundari",12,59,64,72);
|
||||||
aWE("boundary",12,59,73);
|
aWE("boundary",12,59,73);
|
||||||
aWE("boundingbox",44,33);
|
aWE("boundingbox",44,33);
|
||||||
aWE("box",4,50,5,7,11,16,22,27,40,32,44,57,59,65,67,73,74,76,33,80,83);
|
aWE("box",4,50,5,7,11,16,22,27,40,32,44,51,53,57,59,65,67,73,74,76,33,80,83);
|
||||||
aWE("box_tr1",5);
|
aWE("box_tr1",5);
|
||||||
aWE("box_tr2",5);
|
aWE("box_tr2",5);
|
||||||
aWE("box1",44,57,59);
|
aWE("box1",44,57,59);
|
||||||
@ -160,15 +160,17 @@ aWE("c0",65);
|
|||||||
aWE("c1",65);
|
aWE("c1",65);
|
||||||
aWE("c2",65);
|
aWE("c2",65);
|
||||||
aWE("cad",38,30);
|
aWE("cad",38,30);
|
||||||
aWE("calculat",33);
|
aWE("calculat",43,33);
|
||||||
aWE("camera",82);
|
aWE("camera",82);
|
||||||
aWE("cas",50,43,48,73);
|
aWE("cas",50,43,48,61,73);
|
||||||
aWE("cascad",51);
|
aWE("cascad",51);
|
||||||
aWE("catia",32);
|
aWE("catia",32);
|
||||||
aWE("cent",7,14,20,25,44,46,47,51,67,70,77,33);
|
aWE("cc",51);
|
||||||
|
aWE("cent",7,14,20,25,44,46,47,51,67,70,74,77,33);
|
||||||
aWE("center",26);
|
aWE("center",26);
|
||||||
aWE("centerofscal",62);
|
aWE("centerofscal",62);
|
||||||
aWE("central",20,23,62,65);
|
aWE("central",20,23,61,62,65);
|
||||||
|
aWE("centralpoint",61);
|
||||||
aWE("certain",65,83);
|
aWE("certain",65,83);
|
||||||
aWE("chain",5);
|
aWE("chain",5);
|
||||||
aWE("chamf",9,74);
|
aWE("chamf",9,74);
|
||||||
@ -176,15 +178,15 @@ aWE("chamfer_",74);
|
|||||||
aWE("chamfer_all",74);
|
aWE("chamfer_all",74);
|
||||||
aWE("chamfer_f",74);
|
aWE("chamfer_f",74);
|
||||||
aWE("chamfer_f1",74);
|
aWE("chamfer_f1",74);
|
||||||
aWE("chang",10,11,16,41,76,79,81);
|
aWE("chang",10,11,16,41,51,76,79,81);
|
||||||
aWE("changeorientation",10);
|
aWE("changeorientation",10);
|
||||||
aWE("check",12,13,27,29,44,59,65,73,33);
|
aWE("check",12,13,27,29,44,59,65,73,33);
|
||||||
aWE("check_box",5);
|
aWE("check_box",5);
|
||||||
aWE("checkbox",10,45,46,47,61,72,75,33);
|
aWE("checkbox",10,45,46,47,61,72,75,33);
|
||||||
aWE("checkcompoundofblock",44,33);
|
aWE("checkcompoundofblock",44,33);
|
||||||
aWE("checkshap",44,59);
|
aWE("checkshap",44,59,33);
|
||||||
aWE("choic",21);
|
aWE("choic",21);
|
||||||
aWE("choos",27,32,43);
|
aWE("choos",27,32,43,51,53);
|
||||||
aWE("circl",3,14,67);
|
aWE("circl",3,14,67);
|
||||||
aWE("circle1",3);
|
aWE("circle1",3);
|
||||||
aWE("circle2",3);
|
aWE("circle2",3);
|
||||||
@ -225,7 +227,7 @@ aWE("consider",15,39,33);
|
|||||||
aWE("consol",33);
|
aWE("consol",33);
|
||||||
aWE("constraint",50);
|
aWE("constraint",50);
|
||||||
aWE("construct",50,69);
|
aWE("construct",50,69);
|
||||||
aWE("construction",21,38,30,51,31);
|
aWE("construction",21,38,30,43,51,31);
|
||||||
aWE("contain",0,13,15,58);
|
aWE("contain",0,13,15,58);
|
||||||
aWE("content",40,32,51);
|
aWE("content",40,32,51);
|
||||||
aWE("continuiti",65);
|
aWE("continuiti",65);
|
||||||
@ -237,7 +239,7 @@ aWE("contour",15,59);
|
|||||||
aWE("conversion",65);
|
aWE("conversion",65);
|
||||||
aWE("convert",65);
|
aWE("convert",65);
|
||||||
aWE("coord",44);
|
aWE("coord",44);
|
||||||
aWE("coordinat",7,20,23,26,43,44,46,51,56,67,70,74,75,77,33,78,82);
|
aWE("coordinat",7,20,23,26,43,44,46,51,55,56,67,70,74,75,77,33,78,82);
|
||||||
aWE("copy",10,45,46,61,75);
|
aWE("copy",10,45,46,61,75);
|
||||||
aWE("corn",65);
|
aWE("corn",65);
|
||||||
aWE("corner",7,8);
|
aWE("corner",7,8);
|
||||||
@ -253,11 +255,10 @@ aWE("creategroup",40,83);
|
|||||||
aWE("creation",1,3,7,14,15,18,19,20,21,23,24,25,28,29,35,37,38,40,30,42,54,55,56,57,59,60,66,69,70,77,78,80,83);
|
aWE("creation",1,3,7,14,15,18,19,20,21,23,24,25,28,29,35,37,38,40,30,42,54,55,56,57,59,60,66,69,70,77,78,80,83);
|
||||||
aWE("criteria",5);
|
aWE("criteria",5);
|
||||||
aWE("cros",51);
|
aWE("cros",51);
|
||||||
aWE("cs",43);
|
|
||||||
aWE("cs1",74);
|
aWE("cs1",74);
|
||||||
aWE("cs2",74);
|
aWE("cs2",74);
|
||||||
aWE("cub",46);
|
aWE("cub",46);
|
||||||
aWE("current",7,42,51,67,70);
|
aWE("current",7,42,51,53,67,70);
|
||||||
aWE("curv",3,21,35,65,67);
|
aWE("curv",3,21,35,65,67);
|
||||||
aWE("curvatur",65);
|
aWE("curvatur",65);
|
||||||
aWE("curve2dmod",65);
|
aWE("curve2dmod",65);
|
||||||
@ -281,17 +282,20 @@ aWE("defin",1,7,9,14,20,21,23,25,26,27,28,34,35,32,42,43,47,48,49,51,54,55,56,60
|
|||||||
aWE("definit",72);
|
aWE("definit",72);
|
||||||
aWE("definition",54);
|
aWE("definition",54);
|
||||||
aWE("deflection",2);
|
aWE("deflection",2);
|
||||||
|
aWE("defn",61);
|
||||||
aWE("degenerat",33);
|
aWE("degenerat",33);
|
||||||
aWE("degre",35,60,65,67);
|
aWE("degre",35,60,65,67);
|
||||||
aWE("delet",53,83);
|
aWE("delet",83);
|
||||||
aWE("density",2);
|
aWE("density",2);
|
||||||
aWE("depend",48,65);
|
aWE("depend",48,65);
|
||||||
aWE("derivativ",65);
|
aWE("derivativ",65);
|
||||||
aWE("descr",44);
|
aWE("descr",44);
|
||||||
|
aWE("describ",79);
|
||||||
aWE("description",50,44,67,68,33);
|
aWE("description",50,44,67,68,33);
|
||||||
aWE("design",83);
|
aWE("design",83);
|
||||||
aWE("destin",38,30);
|
aWE("destin",38,30);
|
||||||
aWE("destination",67);
|
aWE("destination",67);
|
||||||
|
aWE("detail",79);
|
||||||
aWE("detect",12,64,72);
|
aWE("detect",12,64,72);
|
||||||
aWE("detection",65);
|
aWE("detection",65);
|
||||||
aWE("develop",51);
|
aWE("develop",51);
|
||||||
@ -302,7 +306,7 @@ aWE("dimension",7,9,23,28,47,33);
|
|||||||
aWE("dir",47,49);
|
aWE("dir",47,49);
|
||||||
aWE("dir1",49);
|
aWE("dir1",49);
|
||||||
aWE("dir2",49);
|
aWE("dir2",49);
|
||||||
aWE("direct",43);
|
aWE("direct",43,61);
|
||||||
aWE("direction",2,14,20,25,28,43,47,48,49,51,60,61,65,67,77);
|
aWE("direction",2,14,20,25,28,43,47,48,49,51,60,61,65,67,77);
|
||||||
aWE("dirfaceid1",48);
|
aWE("dirfaceid1",48);
|
||||||
aWE("dirfaceid1u",48);
|
aWE("dirfaceid1u",48);
|
||||||
@ -315,6 +319,7 @@ aWE("displayon",79);
|
|||||||
aWE("distanc",39,44,52,65,33);
|
aWE("distanc",39,44,52,65,33);
|
||||||
aWE("divid",0,59);
|
aWE("divid",0,59);
|
||||||
aWE("divideedg",0,59);
|
aWE("divideedg",0,59);
|
||||||
|
aWE("documentation",79);
|
||||||
aWE("doesn",40,51);
|
aWE("doesn",40,51);
|
||||||
aWE("don",7,10,15,28,49,51,70);
|
aWE("don",7,10,15,28,49,51,70);
|
||||||
aWE("doubl",47,48,49,67,76);
|
aWE("doubl",47,48,49,67,76);
|
||||||
@ -330,7 +335,7 @@ aWE("duplicat",51);
|
|||||||
aWE("dx",7,44,67,75,78);
|
aWE("dx",7,44,67,75,78);
|
||||||
aWE("dy",7,44,67,75,78);
|
aWE("dy",7,44,67,75,78);
|
||||||
aWE("dz",7,44,75,78);
|
aWE("dz",7,44,75,78);
|
||||||
aWE("e",44,65);
|
aWE("e",44,53,65);
|
||||||
aWE("e1",50);
|
aWE("e1",50);
|
||||||
aWE("e2",50);
|
aWE("e2",50);
|
||||||
aWE("e3",50);
|
aWE("e3",50);
|
||||||
@ -363,10 +368,10 @@ aWE("eras",79);
|
|||||||
aWE("eraseall",79);
|
aWE("eraseall",79);
|
||||||
aWE("eraseon",79);
|
aWE("eraseon",79);
|
||||||
aWE("error",12,40,33);
|
aWE("error",12,40,33);
|
||||||
aWE("etc",26,65);
|
aWE("etc",26,53,65);
|
||||||
aWE("exampl",0,1,2,50,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,32,41,42,43,45,46,47,48,49,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,78,80,81,83);
|
aWE("exampl",0,1,2,50,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,32,41,42,43,45,46,47,48,49,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,78,80,81,83);
|
||||||
aWE("except",73);
|
aWE("except",73);
|
||||||
aWE("exist",55,67,83);
|
aWE("exist",67,83);
|
||||||
aWE("expand",32);
|
aWE("expand",32);
|
||||||
aWE("explod",5,26,27,37);
|
aWE("explod",5,26,27,37);
|
||||||
aWE("export",38,32,30,51,79);
|
aWE("export",38,32,30,51,79);
|
||||||
@ -400,13 +405,14 @@ aWE("facemintol",33);
|
|||||||
aWE("factor",62,74);
|
aWE("factor",62,74);
|
||||||
aWE("fail",44,59);
|
aWE("fail",44,59);
|
||||||
aWE("fals",12);
|
aWE("fals",12);
|
||||||
|
aWE("far",53);
|
||||||
aWE("field",10);
|
aWE("field",10);
|
||||||
aWE("fil",16,18,35,32,43,79,81);
|
aWE("fil",16,18,35,32,79,81);
|
||||||
aWE("fill",72);
|
aWE("fill",72);
|
||||||
aWE("fillet",9,34,74);
|
aWE("fillet",9,34,74);
|
||||||
aWE("filletall",74);
|
aWE("filletall",74);
|
||||||
aWE("final",45,46,55,56,75,82,83);
|
aWE("final",45,46,55,56,75,82,83);
|
||||||
aWE("first",7,14,20,23,24,28,43,45,46,48,49,53,55,56,65,68,70,75,77,31,78,82);
|
aWE("first",7,14,20,23,24,28,43,45,46,48,49,53,55,56,61,65,68,70,75,77,31,78,82);
|
||||||
aWE("fit",51);
|
aWE("fit",51);
|
||||||
aWE("fix",65);
|
aWE("fix",65);
|
||||||
aWE("fixfacesiz",65);
|
aWE("fixfacesiz",65);
|
||||||
@ -420,7 +426,7 @@ aWE("fram",51);
|
|||||||
aWE("fre",12,13,59,64,72);
|
aWE("fre",12,13,59,64,72);
|
||||||
aWE("function",38,30,51,74);
|
aWE("function",38,30,51,74);
|
||||||
aWE("functionaliti",50);
|
aWE("functionaliti",50);
|
||||||
aWE("functionality",51,67,83);
|
aWE("functionality",51,53,67,83);
|
||||||
aWE("fus",6,11,36,31);
|
aWE("fus",6,11,36,31);
|
||||||
aWE("fuse_id",11);
|
aWE("fuse_id",11);
|
||||||
aWE("g1",65);
|
aWE("g1",65);
|
||||||
@ -433,7 +439,7 @@ aWE("generation",28,35,38,30,54,60);
|
|||||||
aWE("geom",3,4,5,6,8,11,18,37,40,44,57,58,59,68,74,33);
|
aWE("geom",3,4,5,6,8,11,18,37,40,44,57,58,59,68,74,33);
|
||||||
aWE("geom_object",0,1,2,50,7,9,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,45,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,80,83);
|
aWE("geom_object",0,1,2,50,7,9,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,45,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,80,83);
|
||||||
aWE("geometric",1,50,14,19,21,24,25,28,29,35,42,54,55,56,60,65,66,69,78,79,80);
|
aWE("geometric",1,50,14,19,21,24,25,28,29,35,42,54,55,56,60,65,66,69,78,79,80);
|
||||||
aWE("geometrical",3,11,17,37,38,32,30,47,51,31,33,79,81,83);
|
aWE("geometrical",3,11,17,37,38,32,30,47,51,53,31,33,79,81,83);
|
||||||
aWE("geometry",38,32,30,51,59,65,33);
|
aWE("geometry",38,32,30,51,59,65,33);
|
||||||
aWE("geompy",0,1,2,3,4,50,5,6,7,8,9,10,11,12,14,15,17,18,19,20,21,23,24,25,26,27,28,29,34,35,36,37,39,40,42,43,44,45,46,47,48,49,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77,31,33,78,80,83);
|
aWE("geompy",0,1,2,3,4,50,5,6,7,8,9,10,11,12,14,15,17,18,19,20,21,23,24,25,26,27,28,29,34,35,36,37,39,40,42,43,44,45,46,47,48,49,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77,31,33,78,80,83);
|
||||||
aWE("get",5,44,59,74,33);
|
aWE("get",5,44,59,74,33);
|
||||||
@ -447,14 +453,15 @@ aWE("getsubshapeid",5,40,59,74);
|
|||||||
aWE("gg",3,4,5,6,8,11,16,18,37,40,44,57,59,68,74,76,81);
|
aWE("gg",3,4,5,6,8,11,16,18,37,40,44,57,59,68,74,76,81);
|
||||||
aWE("giv",14,25,32,55,65);
|
aWE("giv",14,25,32,55,65);
|
||||||
aWE("given",3,5,8,9,13,18,23,26,27,29,34,37,39,42,47,52,56,59,65,68,74,77,33);
|
aWE("given",3,5,8,9,13,18,23,26,27,29,34,37,39,42,47,52,56,59,65,68,74,77,33);
|
||||||
aWE("global",43,46,51);
|
aWE("global",46,51);
|
||||||
aWE("glu",5,39,44,53,59,33);
|
aWE("glu",5,39,44,59,33);
|
||||||
aWE("good",51);
|
aWE("good",51);
|
||||||
aWE("gravity",26,44,47,33);
|
aWE("gravity",26,44,47,33);
|
||||||
aWE("great",51);
|
aWE("great",51);
|
||||||
aWE("group",5,38,40,30,51,58,83);
|
aWE("group",5,38,40,30,51,58,83);
|
||||||
aWE("group_n",83);
|
aWE("group_n",83);
|
||||||
aWE("group1",40);
|
aWE("group1",40);
|
||||||
|
aWE("gui",79);
|
||||||
aWE("handl",83);
|
aWE("handl",83);
|
||||||
aWE("hav",65,66);
|
aWE("hav",65,66);
|
||||||
aWE("height",6,20,23,28,57,59,74);
|
aWE("height",6,20,23,28,57,59,74);
|
||||||
@ -467,7 +474,7 @@ aWE("highlight",12,33);
|
|||||||
aWE("hol",59,72);
|
aWE("hol",59,72);
|
||||||
aWE("hold",80);
|
aWE("hold",80);
|
||||||
aWE("how",33);
|
aWE("how",33);
|
||||||
aWE("i",18,37,40,59,65);
|
aWE("i",18,37,40,53,59,65);
|
||||||
aWE("i11",33);
|
aWE("i11",33);
|
||||||
aWE("i12",33);
|
aWE("i12",33);
|
||||||
aWE("i13",33);
|
aWE("i13",33);
|
||||||
@ -535,9 +542,9 @@ aWE("id_offset",74);
|
|||||||
aWE("id_p",59);
|
aWE("id_p",59);
|
||||||
aWE("id_p_on_arc",3);
|
aWE("id_p_on_arc",3);
|
||||||
aWE("id_p0",3);
|
aWE("id_p0",3);
|
||||||
aWE("id_p1",3,8);
|
aWE("id_p1",3,8,74);
|
||||||
aWE("id_p100",3);
|
aWE("id_p100",3);
|
||||||
aWE("id_p2",3,8);
|
aWE("id_p2",3,8,74);
|
||||||
aWE("id_p3",3,8);
|
aWE("id_p3",3,8);
|
||||||
aWE("id_p4",3,8,74);
|
aWE("id_p4",3,8,74);
|
||||||
aWE("id_partition1",4);
|
aWE("id_partition1",4);
|
||||||
@ -563,7 +570,8 @@ aWE("id_result",59);
|
|||||||
aWE("id_revolution",18);
|
aWE("id_revolution",18);
|
||||||
aWE("id_rot1d",74);
|
aWE("id_rot1d",74);
|
||||||
aWE("id_rot2d",74);
|
aWE("id_rot2d",74);
|
||||||
aWE("id_rotation",74);
|
aWE("id_rotation1",74);
|
||||||
|
aWE("id_rotation2",74);
|
||||||
aWE("id_scal",74);
|
aWE("id_scal",74);
|
||||||
aWE("id_section",6);
|
aWE("id_section",6);
|
||||||
aWE("id_sew",59);
|
aWE("id_sew",59);
|
||||||
@ -596,12 +604,14 @@ aWE("id_wire_clos",59);
|
|||||||
aWE("idlist",59,74);
|
aWE("idlist",59,74);
|
||||||
aWE("idlist_",74);
|
aWE("idlist_",74);
|
||||||
aWE("idlist_f",74);
|
aWE("idlist_f",74);
|
||||||
aWE("if",0,10,12,15,20,29,40,44,51,53,59,65,72,73,33);
|
aWE("if",0,10,12,15,20,29,40,44,51,59,65,72,73,33);
|
||||||
aWE("ig",38,32,30);
|
aWE("ig",38,32,30);
|
||||||
|
aWE("ignor",53);
|
||||||
aWE("ii",5);
|
aWE("ii",5);
|
||||||
aWE("imag",45,51,74,79);
|
aWE("imag",45,51,74,79);
|
||||||
aWE("imp",65);
|
aWE("imp",65);
|
||||||
aWE("implement",32);
|
aWE("implement",32);
|
||||||
|
aWE("implementation",53);
|
||||||
aWE("impli",65);
|
aWE("impli",65);
|
||||||
aWE("import",3,4,5,6,8,11,18,37,38,40,32,30,44,57,59,68,74,33);
|
aWE("import",3,4,5,6,8,11,18,37,38,40,32,30,44,57,59,68,74,33);
|
||||||
aWE("importation",32);
|
aWE("importation",32);
|
||||||
@ -613,14 +623,13 @@ aWE("includ",40);
|
|||||||
aWE("increas",15);
|
aWE("increas",15);
|
||||||
aWE("independent",17);
|
aWE("independent",17);
|
||||||
aWE("index",26,83);
|
aWE("index",26,83);
|
||||||
aWE("indic",9,26,53,59);
|
aWE("indic",9,26,59);
|
||||||
aWE("indicat",49,56);
|
aWE("indicat",49,56);
|
||||||
aWE("inertia",44,33);
|
aWE("inertia",44,33);
|
||||||
aWE("inform",33);
|
aWE("inform",33);
|
||||||
aWE("initial",10,45,46,47,61,62,75);
|
aWE("initial",10,45,46,47,61,62,75);
|
||||||
aWE("inquir",33);
|
aWE("inquir",33);
|
||||||
aWE("insert",15);
|
aWE("insert",15);
|
||||||
aWE("insid",53);
|
|
||||||
aWE("instead",20);
|
aWE("instead",20);
|
||||||
aWE("integ",48);
|
aWE("integ",48);
|
||||||
aWE("integer",27,48);
|
aWE("integer",27,48);
|
||||||
@ -672,7 +681,7 @@ aWE("len",59);
|
|||||||
aWE("length",0,44,67,33);
|
aWE("length",0,44,67,33);
|
||||||
aWE("li",1,14);
|
aWE("li",1,14);
|
||||||
aWE("limit",53);
|
aWE("limit",53);
|
||||||
aWE("lin",2,3,42,67,83);
|
aWE("lin",2,3,42,43,67,83);
|
||||||
aWE("line1",3);
|
aWE("line1",3);
|
||||||
aWE("line2",3);
|
aWE("line2",3);
|
||||||
aWE("linear",67);
|
aWE("linear",67);
|
||||||
@ -690,10 +699,10 @@ aWE("listoftool",53);
|
|||||||
aWE("listofwireid",72);
|
aWE("listofwireid",72);
|
||||||
aWE("listshap",34);
|
aWE("listshap",34);
|
||||||
aWE("ll",51);
|
aWE("ll",51);
|
||||||
aWE("local",43,46,52,67,74);
|
aWE("local",43,46,52,55,67,74,82);
|
||||||
aWE("localcs1",46);
|
aWE("localcs1",46);
|
||||||
aWE("localcs2",46);
|
aWE("localcs2",46);
|
||||||
aWE("locat",56);
|
aWE("locat",51,56);
|
||||||
aWE("location",32,43,46,74);
|
aWE("location",32,43,46,74);
|
||||||
aWE("lock",10,51);
|
aWE("lock",10,51);
|
||||||
aWE("lsc",46);
|
aWE("lsc",46);
|
||||||
@ -702,7 +711,7 @@ aWE("magnitud",65);
|
|||||||
aWE("main",0,1,2,50,7,9,10,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,43,44,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,80,82,83);
|
aWE("main",0,1,2,50,7,9,10,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,43,44,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,80,82,83);
|
||||||
aWE("mainshap",83);
|
aWE("mainshap",83);
|
||||||
aWE("major",25,77);
|
aWE("major",25,77);
|
||||||
aWE("mak",5,6,9,44,48,49,53,59,74,75,83);
|
aWE("mak",5,6,9,44,48,49,59,74,75,83);
|
||||||
aWE("make_block_explod",5);
|
aWE("make_block_explod",5);
|
||||||
aWE("makearc",1,3,18,37,59,68,74);
|
aWE("makearc",1,3,18,37,59,68,74);
|
||||||
aWE("makebezi",3,21);
|
aWE("makebezi",3,21);
|
||||||
@ -765,6 +774,7 @@ aWE("makequad2edg",50,8);
|
|||||||
aWE("makequad4vertic",50,8);
|
aWE("makequad4vertic",50,8);
|
||||||
aWE("makerevolution",18,60);
|
aWE("makerevolution",18,60);
|
||||||
aWE("makerotation",59,61,74);
|
aWE("makerotation",59,61,74);
|
||||||
|
aWE("makerotationthreepoint",61,74);
|
||||||
aWE("makescaletransform",62,74);
|
aWE("makescaletransform",62,74);
|
||||||
aWE("makesection",6,63);
|
aWE("makesection",6,63);
|
||||||
aWE("makesew",59,64);
|
aWE("makesew",59,64);
|
||||||
@ -785,10 +795,9 @@ aWE("makevertex",3,4,5,6,8,18,37,40,44,56,57,59,68,74);
|
|||||||
aWE("makevertexoncurv",3,56);
|
aWE("makevertexoncurv",3,56);
|
||||||
aWE("makevertexwithref",3,56);
|
aWE("makevertexwithref",3,56);
|
||||||
aWE("makewir",3,18,37,59,68,74,80);
|
aWE("makewir",3,18,37,59,68,74,80);
|
||||||
aWE("manual",83);
|
aWE("manual",51,83);
|
||||||
aWE("mark",51);
|
aWE("mark",51);
|
||||||
aWE("mas",44,33);
|
aWE("mas",44,33);
|
||||||
aWE("material",53);
|
|
||||||
aWE("math",44,59,74);
|
aWE("math",44,59,74);
|
||||||
aWE("matrix",44,33);
|
aWE("matrix",44,33);
|
||||||
aWE("max",27,35,44,65);
|
aWE("max",27,35,44,65);
|
||||||
@ -831,7 +840,7 @@ aWE("mod",0,11,15,65,79,81);
|
|||||||
aWE("model",2,38,30);
|
aWE("model",2,38,30);
|
||||||
aWE("modifi",15,46);
|
aWE("modifi",15,46);
|
||||||
aWE("modify",46,74);
|
aWE("modify",46,74);
|
||||||
aWE("modul",38,32,30,51);
|
aWE("modul",38,32,30,51,79);
|
||||||
aWE("moment",44,33);
|
aWE("moment",44,33);
|
||||||
aWE("mous",51,79);
|
aWE("mous",51,79);
|
||||||
aWE("mov",46,49);
|
aWE("mov",46,49);
|
||||||
@ -856,13 +865,13 @@ aWE("nbtimesu",48);
|
|||||||
aWE("nbtimesv",48);
|
aWE("nbtimesv",48);
|
||||||
aWE("ncentr",44);
|
aWE("ncentr",44);
|
||||||
aWE("ncompound",44);
|
aWE("ncompound",44);
|
||||||
aWE("ne",7,9,26,28,29,34,35,47,49,54,60,61,62,65,70,75);
|
aWE("ne",7,9,26,28,29,34,35,47,49,54,60,62,65,70,75);
|
||||||
aWE("necessari",65);
|
aWE("necessari",65);
|
||||||
aWE("necessary",9,34,65,67,33);
|
aWE("necessary",9,34,65,67,33);
|
||||||
aWE("need",15);
|
aWE("need",15,61);
|
||||||
aWE("negativ",52);
|
aWE("negativ",52);
|
||||||
aWE("neighbour",65);
|
aWE("neighbour",65);
|
||||||
aWE("new",1,50,7,14,15,19,20,21,23,24,25,26,28,29,35,42,43,51,54,55,56,60,66,67,69,70,74,77,78,79,80,82,83);
|
aWE("new",1,50,7,14,15,19,20,21,23,24,25,26,28,29,35,42,43,51,53,54,55,56,60,66,67,69,70,74,77,78,79,80,82,83);
|
||||||
aWE("ninertia",44);
|
aWE("ninertia",44);
|
||||||
aWE("nminimal",44);
|
aWE("nminimal",44);
|
||||||
aWE("nod",21);
|
aWE("nod",21);
|
||||||
@ -875,14 +884,14 @@ aWE("notion",50);
|
|||||||
aWE("nth",65);
|
aWE("nth",65);
|
||||||
aWE("numb",27,35,41,47,48,49,52,59,64,65,72,74,79);
|
aWE("numb",27,35,41,47,48,49,52,59,64,65,72,74,79);
|
||||||
aWE("number",48);
|
aWE("number",48);
|
||||||
aWE("object",1,2,3,4,5,6,8,9,10,11,14,16,17,18,19,21,24,25,26,28,29,34,35,37,38,40,32,30,42,43,45,46,47,51,52,54,55,56,57,58,59,60,61,65,66,68,69,73,74,75,31,33,78,79,80,81,83);
|
aWE("object",1,2,3,4,5,6,8,9,10,11,14,16,17,18,19,21,24,25,26,28,29,34,35,37,38,40,32,30,42,43,45,46,47,51,52,53,54,55,56,57,58,59,60,61,65,66,68,69,73,74,75,31,33,78,79,80,81,83);
|
||||||
aWE("obtain",26,44,46,65);
|
aWE("obtain",26,44,46,65);
|
||||||
aWE("occ",0,9,15,34,51,71,72,73,79,83);
|
aWE("occ",0,9,15,34,51,71,72,73,79,83);
|
||||||
aWE("occur",12);
|
aWE("occur",12);
|
||||||
aWE("offset",52,74);
|
aWE("offset",52,74);
|
||||||
aWE("ok",43,44,59,83);
|
aWE("ok",43,44,59,83);
|
||||||
aWE("old",56);
|
aWE("old",53,56);
|
||||||
aWE("on",0,15,22,47,48,49,55,56,59,65,67,82);
|
aWE("on",0,15,22,47,48,49,56,59,65,67,82);
|
||||||
aWE("opaqu",76);
|
aWE("opaqu",76);
|
||||||
aWE("open",12,15,32,51,59,83);
|
aWE("open",12,15,32,51,59,83);
|
||||||
aWE("openwir",12,59);
|
aWE("openwir",12,59);
|
||||||
@ -897,11 +906,11 @@ aWE("orient",50);
|
|||||||
aWE("orientat",51);
|
aWE("orientat",51);
|
||||||
aWE("orientation",10,51);
|
aWE("orientation",10,51);
|
||||||
aWE("origin",7,20,23,43,51,70,77,78);
|
aWE("origin",7,20,23,43,51,70,77,78);
|
||||||
|
aWE("orthogonal",61);
|
||||||
aWE("os",59);
|
aWE("os",59);
|
||||||
aWE("otherwis",0,15,45,46,61,75);
|
aWE("otherwis",0,15,45,46,61,75);
|
||||||
aWE("our",0,1,2,50,7,9,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,42,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,80,81,83);
|
aWE("our",0,1,2,50,7,9,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,42,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,80,81,83);
|
||||||
aWE("out",51,65);
|
aWE("out",51,65);
|
||||||
aWE("outsid",53);
|
|
||||||
aWE("outward",10);
|
aWE("outward",10);
|
||||||
aWE("ox",43,67);
|
aWE("ox",43,67);
|
||||||
aWE("oy",43);
|
aWE("oy",43);
|
||||||
@ -928,9 +937,9 @@ aWE("p70",57);
|
|||||||
aWE("p8",8,18);
|
aWE("p8",8,18);
|
||||||
aWE("p9",8);
|
aWE("p9",8);
|
||||||
aWE("pan",51);
|
aWE("pan",51);
|
||||||
aWE("parallel",7,42,43,65);
|
aWE("parallel",7,42,65);
|
||||||
aWE("paramet",0,15,56,65);
|
aWE("paramet",0,15,56,65);
|
||||||
aWE("parameter",4,16,35,59,65,67,76,79,81);
|
aWE("parameter",4,16,35,53,59,65,67,76,79,81);
|
||||||
aWE("parameterization",65);
|
aWE("parameterization",65);
|
||||||
aWE("parametric",65);
|
aWE("parametric",65);
|
||||||
aWE("paramt",0);
|
aWE("paramt",0);
|
||||||
@ -939,16 +948,17 @@ aWE("partition",4,53);
|
|||||||
aWE("partition1",4);
|
aWE("partition1",4);
|
||||||
aWE("partition2",4);
|
aWE("partition2",4);
|
||||||
aWE("partition3",4);
|
aWE("partition3",4);
|
||||||
aWE("pas",5,21,42,44,47,55,67);
|
aWE("partitionalgo",53);
|
||||||
|
aWE("pas",5,21,42,44,47,55,61,67);
|
||||||
aWE("path",18,54);
|
aWE("path",18,54);
|
||||||
aWE("pathshap",54);
|
aWE("pathshap",54);
|
||||||
aWE("perform",4,26,53,74);
|
aWE("perform",4,26,51,74);
|
||||||
aWE("perpendicular",67);
|
aWE("perpendicular",67);
|
||||||
aWE("pi",47,59,74);
|
aWE("pi",47,59,74);
|
||||||
aWE("pictur",46);
|
aWE("pictur",46);
|
||||||
aWE("pip",18,54);
|
aWE("pip",18,54);
|
||||||
aWE("plac",46,51,65);
|
aWE("plac",46,51,65);
|
||||||
aWE("plan",2,3,4,45,51,53,55,67,74,82,83);
|
aWE("plan",2,3,4,45,51,53,55,61,67,74,82,83);
|
||||||
aWE("planar",29,67,68,74,82);
|
aWE("planar",29,67,68,74,82);
|
||||||
aWE("plane1",3);
|
aWE("plane1",3);
|
||||||
aWE("plane2",3);
|
aWE("plane2",3);
|
||||||
@ -956,9 +966,9 @@ aWE("plane3",3);
|
|||||||
aWE("plug",32);
|
aWE("plug",32);
|
||||||
aWE("plung",2);
|
aWE("plung",2);
|
||||||
aWE("png",51,79);
|
aWE("png",51,79);
|
||||||
aWE("point",0,1,3,4,50,7,8,14,15,18,20,21,23,24,25,28,37,40,42,43,44,45,47,51,52,55,56,59,62,65,67,68,70,74,75,77,33,78,83);
|
aWE("point",0,1,3,4,50,7,8,14,15,18,20,21,23,24,25,28,37,40,42,43,44,45,47,51,52,55,56,59,61,62,65,67,68,70,74,75,77,33,78,83);
|
||||||
aWE("point1",1,3,7,8,14,24,28,42,55,75,78);
|
aWE("point1",1,3,7,8,14,24,28,42,55,61,75,78);
|
||||||
aWE("point2",1,3,7,8,14,24,28,42,55,75,78);
|
aWE("point2",1,3,7,8,14,24,28,42,55,61,75,78);
|
||||||
aWE("point3",1,3,8,14,55);
|
aWE("point3",1,3,8,14,55);
|
||||||
aWE("point4",3,8);
|
aWE("point4",3,8);
|
||||||
aWE("point5",3);
|
aWE("point5",3);
|
||||||
@ -972,9 +982,9 @@ aWE("possibility",65);
|
|||||||
aWE("possibl",5,21,58,65,33);
|
aWE("possibl",5,21,58,65,33);
|
||||||
aWE("precision",59,64);
|
aWE("precision",59,64);
|
||||||
aWE("predefin",67);
|
aWE("predefin",67);
|
||||||
|
aWE("preferrabl",53);
|
||||||
aWE("pres",43,51);
|
aWE("pres",43,51);
|
||||||
aWE("presentation",79);
|
aWE("presentation",79);
|
||||||
aWE("presum",43);
|
|
||||||
aWE("preview",51);
|
aWE("preview",51);
|
||||||
aWE("previou",65,67);
|
aWE("previou",65,67);
|
||||||
aWE("primitiv",7,20,23,38,30,57,70,77);
|
aWE("primitiv",7,20,23,38,30,57,70,77);
|
||||||
@ -1035,7 +1045,7 @@ aWE("refresh",79);
|
|||||||
aWE("regard",56);
|
aWE("regard",56);
|
||||||
aWE("relativ",67);
|
aWE("relativ",67);
|
||||||
aWE("relevant",81);
|
aWE("relevant",81);
|
||||||
aWE("remain",51,81);
|
aWE("remain",51,53,81);
|
||||||
aWE("remaind",46);
|
aWE("remaind",46);
|
||||||
aWE("remot",51);
|
aWE("remot",51);
|
||||||
aWE("remov",40,45,46,51,59,61,65,71,72,73,75,83);
|
aWE("remov",40,45,46,51,59,61,65,71,72,73,75,83);
|
||||||
@ -1067,6 +1077,8 @@ aWE("rot1d",74);
|
|||||||
aWE("rot2d",74);
|
aWE("rot2d",74);
|
||||||
aWE("rotat",47,51,60,61,74);
|
aWE("rotat",47,51,60,61,74);
|
||||||
aWE("rotation",47,51,59,61,74);
|
aWE("rotation",47,51,59,61,74);
|
||||||
|
aWE("rotation1",74);
|
||||||
|
aWE("rotation2",74);
|
||||||
aWE("rul",65);
|
aWE("rul",65);
|
||||||
aWE("runtimeerror",44,59);
|
aWE("runtimeerror",44,59);
|
||||||
aWE("s",12,14,15,18,37,48,59,62,71,72,73,83);
|
aWE("s",12,14,15,18,37,48,59,62,71,72,73,83);
|
||||||
@ -1082,16 +1094,15 @@ aWE("scen",51);
|
|||||||
aWE("script",0,1,2,50,7,9,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,42,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,80,81,83);
|
aWE("script",0,1,2,50,7,9,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,42,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,80,81,83);
|
||||||
aWE("se",46,51,81);
|
aWE("se",46,51,81);
|
||||||
aWE("search",32);
|
aWE("search",32);
|
||||||
aWE("second",7,14,20,23,28,43,45,46,48,49,53,55,56,65,68,70,75,77,31,78,82);
|
aWE("second",7,14,20,23,28,43,45,46,48,49,53,55,56,61,65,68,70,75,77,31,78,82);
|
||||||
aWE("section",2,6,51,63,31);
|
aWE("section",2,6,51,63,31);
|
||||||
aWE("seem",59);
|
aWE("seem",59);
|
||||||
aWE("segment",65,67);
|
aWE("segment",65,67);
|
||||||
aWE("select",0,1,2,4,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,40,32,42,43,45,46,47,48,49,51,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,79,80,81,82,83);
|
aWE("select",0,1,2,4,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,40,32,42,43,45,46,47,48,49,51,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,79,80,81,82,83);
|
||||||
aWE("selection",34,67,82,83);
|
aWE("selection",34,67,82,83);
|
||||||
aWE("sens",53);
|
|
||||||
aWE("separat",31);
|
aWE("separat",31);
|
||||||
aWE("serv",21,28,54,60);
|
aWE("serv",21,28,54,60);
|
||||||
aWE("set",0,15,27,29,37,47,52,56,82);
|
aWE("set",0,15,27,29,37,47,51,52,56,82);
|
||||||
aWE("setcolor",11,16);
|
aWE("setcolor",11,16);
|
||||||
aWE("setdisplaymod",3,4,5,6,8,11,18,37,57,59,68,74,81);
|
aWE("setdisplaymod",3,4,5,6,8,11,18,37,57,59,68,74,81);
|
||||||
aWE("settransparency",3,11,37,68,74,76);
|
aWE("settransparency",3,11,37,68,74,76);
|
||||||
@ -1109,7 +1120,7 @@ aWE("shapetypefac",74);
|
|||||||
aWE("shar",13);
|
aWE("shar",13);
|
||||||
aWE("sharp",65);
|
aWE("sharp",65);
|
||||||
aWE("shel",13,19,37,52,66,69,81);
|
aWE("shel",13,19,37,52,66,69,81);
|
||||||
aWE("shell",50,10,28,37,52,54,60,66,69);
|
aWE("shell",50,10,28,37,52,53,54,60,66,69);
|
||||||
aWE("shift",46,56,80,83);
|
aWE("shift",46,56,80,83);
|
||||||
aWE("short",16,81);
|
aWE("short",16,81);
|
||||||
aWE("shortcut",29);
|
aWE("shortcut",29);
|
||||||
@ -1118,9 +1129,9 @@ aWE("show",51,33);
|
|||||||
aWE("shown",43);
|
aWE("shown",43);
|
||||||
aWE("sid",55);
|
aWE("sid",55);
|
||||||
aWE("sign",52);
|
aWE("sign",52);
|
||||||
aWE("similar",55);
|
|
||||||
aWE("simp",43);
|
aWE("simp",43);
|
||||||
aWE("simpl",47,48,49);
|
aWE("simpl",47,48,49);
|
||||||
|
aWE("sinc",53);
|
||||||
aWE("singl",29);
|
aWE("singl",29);
|
||||||
aWE("six",50,8);
|
aWE("six",50,8);
|
||||||
aWE("siz",9,55,65);
|
aWE("siz",9,55,65);
|
||||||
@ -1132,7 +1143,7 @@ aWE("sketcher3",37);
|
|||||||
aWE("skip",83);
|
aWE("skip",83);
|
||||||
aWE("small",51,65);
|
aWE("small",51,65);
|
||||||
aWE("so",29,46);
|
aWE("so",29,46);
|
||||||
aWE("solid",50,7,8,20,23,26,28,37,48,52,54,60,69,70,77);
|
aWE("solid",50,7,8,20,23,26,28,37,48,52,53,54,60,69,70,77);
|
||||||
aWE("solid1",8);
|
aWE("solid1",8);
|
||||||
aWE("solid2",8);
|
aWE("solid2",8);
|
||||||
aWE("sort",26);
|
aWE("sort",26);
|
||||||
@ -1177,6 +1188,7 @@ aWE("subshapesort",26);
|
|||||||
aWE("subtraction",46);
|
aWE("subtraction",46);
|
||||||
aWE("successful",44);
|
aWE("successful",44);
|
||||||
aWE("sup_fac",59);
|
aWE("sup_fac",59);
|
||||||
|
aWE("support",53);
|
||||||
aWE("suppres",59,71,72,73);
|
aWE("suppres",59,71,72,73);
|
||||||
aWE("suppressfac",59,71);
|
aWE("suppressfac",59,71);
|
||||||
aWE("suppresshol",59,72);
|
aWE("suppresshol",59,72);
|
||||||
@ -1187,7 +1199,7 @@ aWE("surfacemod",65);
|
|||||||
aWE("symmetric",74);
|
aWE("symmetric",74);
|
||||||
aWE("symmetrical",45,74);
|
aWE("symmetrical",45,74);
|
||||||
aWE("symmetry",45);
|
aWE("symmetry",45);
|
||||||
aWE("system",20,23,43,46,70,74,82);
|
aWE("system",20,23,43,46,55,70,74,82);
|
||||||
aWE("t",7,10,28,40,51,70);
|
aWE("t",7,10,28,40,51,70);
|
||||||
aWE("tak",65);
|
aWE("tak",65);
|
||||||
aWE("tangent",65,67);
|
aWE("tangent",65,67);
|
||||||
@ -1206,8 +1218,8 @@ aWE("therefor",67);
|
|||||||
aWE("theshap",39,59,33);
|
aWE("theshap",39,59,33);
|
||||||
aWE("thestartlc",46);
|
aWE("thestartlc",46);
|
||||||
aWE("thetoleranc",39);
|
aWE("thetoleranc",39);
|
||||||
aWE("third",7);
|
aWE("third",7,61);
|
||||||
aWE("thre",1,3,14,18,21,37,43,45,55,56,68,74,82);
|
aWE("thre",1,3,14,18,21,37,43,45,55,56,61,68,74,82);
|
||||||
aWE("thu",65,76);
|
aWE("thu",65,76);
|
||||||
aWE("tim",21,47,49,56,74);
|
aWE("tim",21,47,49,56,74);
|
||||||
aWE("tobezi",65);
|
aWE("tobezi",65);
|
||||||
@ -1242,16 +1254,16 @@ aWE("transparent",76,81);
|
|||||||
aWE("triangl",51);
|
aWE("triangl",51);
|
||||||
aWE("trihedron",51);
|
aWE("trihedron",51);
|
||||||
aWE("trimsiz",3,4,55);
|
aWE("trimsiz",3,4,55);
|
||||||
aWE("tru",0,15,53,59,33);
|
aWE("tru",0,15,59,33);
|
||||||
aWE("truncat",20);
|
aWE("truncat",20);
|
||||||
aWE("try",29);
|
aWE("try",29);
|
||||||
aWE("tt",37,68);
|
aWE("tt",37,68);
|
||||||
aWE("tui",0,1,2,50,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,43,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,79,80,81,83);
|
aWE("tui",0,1,2,50,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,43,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,79,80,81,83);
|
||||||
aWE("tupl",33);
|
aWE("tupl",33);
|
||||||
aWE("two",0,3,4,50,7,8,9,13,17,18,20,24,36,37,39,40,46,47,48,49,53,65,68,70,74,77,33,82,83);
|
aWE("two",0,3,4,50,7,8,9,13,17,18,20,24,36,37,39,40,46,47,48,49,53,61,65,68,70,74,77,33,82,83);
|
||||||
aWE("typ",21,26,27,53,65,67,31,33,83);
|
aWE("typ",21,26,27,53,65,67,31,33,83);
|
||||||
aWE("u",65);
|
aWE("u",65);
|
||||||
aWE("uncheck",10);
|
aWE("uncheck",10,51);
|
||||||
aWE("underly",15,65);
|
aWE("underly",15,65);
|
||||||
aWE("unionlist",40);
|
aWE("unionlist",40);
|
||||||
aWE("up",16,20,81);
|
aWE("up",16,20,81);
|
||||||
@ -1282,6 +1294,7 @@ aWE("vector2_arc1",18);
|
|||||||
aWE("vector2_arc2",18);
|
aWE("vector2_arc2",18);
|
||||||
aWE("vector3",18);
|
aWE("vector3",18);
|
||||||
aWE("versa",65);
|
aWE("versa",65);
|
||||||
|
aWE("version",53);
|
||||||
aWE("vertex",3,4,6,14,15,18,20,23,24,25,28,37,44,45,54,55,56,57,59,60,62,70,74,77,33);
|
aWE("vertex",3,4,6,14,15,18,20,23,24,25,28,37,44,45,54,55,56,57,59,60,62,70,74,77,33);
|
||||||
aWE("vertex_n",56);
|
aWE("vertex_n",56);
|
||||||
aWE("vertex1",24);
|
aWE("vertex1",24);
|
||||||
@ -1317,7 +1330,7 @@ aWE("wheth",33);
|
|||||||
aWE("whil",12,18,37,44,65,81);
|
aWE("whil",12,18,37,44,65,81);
|
||||||
aWE("whos",29,33);
|
aWE("whos",29,33);
|
||||||
aWE("wid",38,30);
|
aWE("wid",38,30);
|
||||||
aWE("will",0,1,2,50,7,9,10,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,32,42,43,45,46,47,48,49,51,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,78,80,83);
|
aWE("will",0,1,2,50,7,9,10,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,32,42,45,46,47,48,49,51,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,78,80,83);
|
||||||
aWE("wir",3,50,12,15,18,26,28,29,37,44,54,59,60,67,68,72,73,74,80);
|
aWE("wir",3,50,12,15,18,26,28,29,37,44,54,59,60,67,68,72,73,74,80);
|
||||||
aWE("wire_clos",59);
|
aWE("wire_clos",59);
|
||||||
aWE("wire_nam",59);
|
aWE("wire_nam",59);
|
||||||
@ -1351,7 +1364,6 @@ aWE("ydz",43);
|
|||||||
aWE("ymax",44,33);
|
aWE("ymax",44,33);
|
||||||
aWE("ymin",44,33);
|
aWE("ymin",44,33);
|
||||||
aWE("your",16,32,64,72,79,82,83);
|
aWE("your",16,32,64,72,79,82,83);
|
||||||
aWE("yourselv",43);
|
|
||||||
aWE("yz_fac",5);
|
aWE("yz_fac",5);
|
||||||
aWE("yz_face_ind",5);
|
aWE("yz_face_ind",5);
|
||||||
aWE("z",2,3,7,43,56,70,33);
|
aWE("z",2,3,7,43,56,70,33);
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<script language="javascript" src="whtdata.js"></script>
|
<script language="javascript" src="whtdata.js"></script>
|
||||||
<script language="javascript">
|
<script language="javascript">
|
||||||
<!--
|
<!--
|
||||||
aTE(1,98,"Geometry module");
|
aTE(1,97,"Geometry module");
|
||||||
aTE(2,0,"Introduction to Geometry","geometry.htm");
|
aTE(2,0,"Introduction to Geometry","geometry.htm");
|
||||||
aTE(2,0,"Importing/exporting geometrical objects","files/salome2_sp3_geomtoolsgui_functions.htm");
|
aTE(2,0,"Importing/exporting geometrical objects","files/salome2_sp3_geomtoolsgui_functions.htm");
|
||||||
aTE(1,33,"Creating geometrical objects");
|
aTE(1,33,"Creating geometrical objects");
|
||||||
@ -45,9 +45,8 @@
|
|||||||
aTE(2,0,"Shell","shell.htm");
|
aTE(2,0,"Shell","shell.htm");
|
||||||
aTE(2,0,"Solid","solid.htm");
|
aTE(2,0,"Solid","solid.htm");
|
||||||
aTE(2,0,"Compound","compound.htm");
|
aTE(2,0,"Compound","compound.htm");
|
||||||
aTE(1,6,"Viewing geometrical objects");
|
aTE(1,5,"Viewing geometrical objects");
|
||||||
aTE(2,0,"Viewing Geometrical Objects","viewing_geometrical_objects.htm");
|
aTE(2,0,"Viewing Geometrical Objects","viewing_geometrical_objects.htm");
|
||||||
aTE(2,0,"OCC 3D Viewer","occ_viewer.htm");
|
|
||||||
aTE(2,0,"Display Mode","wireframe_and_shading.htm");
|
aTE(2,0,"Display Mode","wireframe_and_shading.htm");
|
||||||
aTE(2,0,"Color","color.htm");
|
aTE(2,0,"Color","color.htm");
|
||||||
aTE(2,0,"Transparency","transparency.htm");
|
aTE(2,0,"Transparency","transparency.htm");
|
||||||
@ -90,8 +89,8 @@
|
|||||||
aTE(2,0,"Check Free Faces","check_free_faces.htm");
|
aTE(2,0,"Check Free Faces","check_free_faces.htm");
|
||||||
aTE(2,0,"Change Orientation","change_orientation.htm");
|
aTE(2,0,"Change Orientation","change_orientation.htm");
|
||||||
aTE(2,0,"Using measurement tools","files/salome2_sp3_measuregui_functions.htm");
|
aTE(2,0,"Using measurement tools","files/salome2_sp3_measuregui_functions.htm");
|
||||||
aTE(2,0,"Python interface geompy.py" , geompy_doc/namespacegeompy.html");
|
aTE(2,0,"Python interface geompy.py" , geompy_doc/namespacegeompy.html");
|
||||||
aTE(1,16,"TUI Scripts");
|
aTE(1,16,"TUI Scripts");
|
||||||
aTE(2,0,"Viewing Geometrical Objects","changing_display_parameters.htm");
|
aTE(2,0,"Viewing Geometrical Objects","changing_display_parameters.htm");
|
||||||
aTE(1,7,"Creating Geometric Objects");
|
aTE(1,7,"Creating Geometric Objects");
|
||||||
aTE(2,0,"Basic Geometrical Objects","basic_geometrical_objects.htm");
|
aTE(2,0,"Basic Geometrical Objects","basic_geometrical_objects.htm");
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
<key name="25"> 3,5,6,57,74, </key>
|
<key name="25"> 3,5,6,57,74, </key>
|
||||||
<key name="250"> 37,44,59,68, </key>
|
<key name="250"> 37,44,59,68, </key>
|
||||||
<key name="2d"> 5,35,59,65,74,31, </key>
|
<key name="2d"> 5,35,59,65,74,31, </key>
|
||||||
<key name="3"> 1,2,5,7,11,14,18,20,37,40,44,48,55,56,59,67,74,75,31,78, </key>
|
<key name="3"> 1,2,5,7,11,14,18,20,37,40,44,48,55,56,59,61,67,74,75,31,78, </key>
|
||||||
<key name="30"> 3,8,11,18,37,44,57,59,68,74, </key>
|
<key name="30"> 3,8,11,18,37,44,57,59,68,74, </key>
|
||||||
<key name="300"> 37,68, </key>
|
<key name="300"> 37,68, </key>
|
||||||
<key name="300000"> 44, </key>
|
<key name="300000"> 44, </key>
|
||||||
@ -44,7 +44,7 @@
|
|||||||
<key name="32"> 59, </key>
|
<key name="32"> 59, </key>
|
||||||
<key name="32000"> 44, </key>
|
<key name="32000"> 44, </key>
|
||||||
<key name="35"> 6,8,57,59,74, </key>
|
<key name="35"> 6,8,57,59,74, </key>
|
||||||
<key name="3d"> 14,21,35,43,51,53,55,56,59,65,71,31,33,78,79,81,83, </key>
|
<key name="3d"> 14,21,35,43,51,55,56,59,65,71,31,33,78,79,81,83, </key>
|
||||||
<key name="4"> 50,37,40,44,48,67,74,31, </key>
|
<key name="4"> 50,37,40,44,48,67,74,31, </key>
|
||||||
<key name="40"> 6,8,18,37,57,59,74, </key>
|
<key name="40"> 6,8,18,37,57,59,74, </key>
|
||||||
<key name="41"> 59, </key>
|
<key name="41"> 59, </key>
|
||||||
@ -75,16 +75,16 @@
|
|||||||
<key name="addtostudy"> 3,4,5,6,8,11,18,37,40,57,59,68,74, </key>
|
<key name="addtostudy"> 3,4,5,6,8,11,18,37,40,57,59,68,74, </key>
|
||||||
<key name="addtostudyinfath"> 5,59, </key>
|
<key name="addtostudyinfath"> 5,59, </key>
|
||||||
<key name="advanc"> 7,19,24,28,29,37,66,69,70,80, </key>
|
<key name="advanc"> 7,19,24,28,29,37,66,69,70,80, </key>
|
||||||
<key name="algorithm"> 7,14,20,21,23,28,43,46,53,55,56,67,70,77,78,82, </key>
|
<key name="algorithm"> 7,14,20,21,23,28,43,46,55,56,61,67,70,77,78,82, </key>
|
||||||
<key name="all_fac"> 59, </key>
|
<key name="all_fac"> 59, </key>
|
||||||
<key name="allow"> 50,9,26,45,46,47,51,61,64,65,67,72,75,33,79, </key>
|
<key name="allow"> 50,9,26,43,45,46,47,51,53,61,64,65,67,72,75,33,79, </key>
|
||||||
<key name="along"> 7,9,46,49,52,54,74,75, </key>
|
<key name="along"> 7,9,46,49,52,54,74,75, </key>
|
||||||
<key name="alongsid"> 31, </key>
|
<key name="alongsid"> 31, </key>
|
||||||
<key name="already"> 40, </key>
|
<key name="already"> 40, </key>
|
||||||
<key name="although"> 46, </key>
|
<key name="although"> 46, </key>
|
||||||
<key name="angl"> 47,59,60,61,65,67,74, </key>
|
<key name="angl"> 47,59,60,61,65,67,74, </key>
|
||||||
<key name="anoth"> 22,42,55,56,70,74, </key>
|
<key name="anoth"> 22,42,55,56,70,74, </key>
|
||||||
<key name="any"> 53,61,65,75, </key>
|
<key name="any"> 43,53,61,65,75, </key>
|
||||||
<key name="ap"> 43,74,83, </key>
|
<key name="ap"> 43,74,83, </key>
|
||||||
<key name="appear"> 79,83, </key>
|
<key name="appear"> 79,83, </key>
|
||||||
<key name="append"> 18,37,74, </key>
|
<key name="append"> 18,37,74, </key>
|
||||||
@ -98,14 +98,14 @@
|
|||||||
<key name="archimed"> 2,4, </key>
|
<key name="archimed"> 2,4, </key>
|
||||||
<key name="area"> 44,51, </key>
|
<key name="area"> 44,51, </key>
|
||||||
<key name="argument"> 0,1,2,50,7,9,10,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,41,42,43,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,66,67,69,70,71,72,73,75,77,31,78,80,82,83, </key>
|
<key name="argument"> 0,1,2,50,7,9,10,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,41,42,43,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,66,67,69,70,71,72,73,75,77,31,78,80,82,83, </key>
|
||||||
<key name="around"> 47,60,74, </key>
|
<key name="around"> 47,51,60,74, </key>
|
||||||
<key name="automatical"> 50,43,79, </key>
|
<key name="automatical"> 50,43,79, </key>
|
||||||
<key name="availabl"> 0,50,15,32,51,67,71,72,73,83, </key>
|
<key name="availabl"> 0,50,15,32,51,67,71,72,73,83, </key>
|
||||||
<key name="ax"> 7,43,49,51,75, </key>
|
<key name="ax"> 7,43,49,51,75, </key>
|
||||||
<key name="axi"> 18,20,23,43,45,46,47,60,61,74,33, </key>
|
<key name="axi"> 18,20,23,43,45,46,47,60,61,74,33, </key>
|
||||||
<key name="b"> 3,21,65, </key>
|
<key name="b"> 3,21,65, </key>
|
||||||
<key name="background"> 79, </key>
|
<key name="background"> 79, </key>
|
||||||
<key name="bas"> 20,23,28,47,51,54,59,60,62,65,75,77, </key>
|
<key name="bas"> 20,23,28,43,47,51,54,59,60,62,65,75,77, </key>
|
||||||
<key name="baseshap"> 54, </key>
|
<key name="baseshap"> 54, </key>
|
||||||
<key name="basi"> 28,51, </key>
|
<key name="basi"> 28,51, </key>
|
||||||
<key name="basic"> 1,2,3,4,14,21,25,38,30,42,43,44,53,55,56,67,33,78,82, </key>
|
<key name="basic"> 1,2,3,4,14,21,25,38,30,42,43,44,53,55,56,67,33,78,82, </key>
|
||||||
@ -124,11 +124,11 @@
|
|||||||
<key name="boolean"> 6,17,22,36,38,30,63,31,33, </key>
|
<key name="boolean"> 6,17,22,36,38,30,63,31,33, </key>
|
||||||
<key name="both"> 7,20,48,49,65, </key>
|
<key name="both"> 7,20,48,49,65, </key>
|
||||||
<key name="boudari"> 59, </key>
|
<key name="boudari"> 59, </key>
|
||||||
<key name="bound"> 8,37,44,33, </key>
|
<key name="bound"> 8,37,44,51,33, </key>
|
||||||
<key name="boundari"> 12,59,64,72, </key>
|
<key name="boundari"> 12,59,64,72, </key>
|
||||||
<key name="boundary"> 12,59,73, </key>
|
<key name="boundary"> 12,59,73, </key>
|
||||||
<key name="boundingbox"> 44,33, </key>
|
<key name="boundingbox"> 44,33, </key>
|
||||||
<key name="box"> 4,50,5,7,11,16,22,27,40,32,44,57,59,65,67,73,74,76,33,80,83, </key>
|
<key name="box"> 4,50,5,7,11,16,22,27,40,32,44,51,53,57,59,65,67,73,74,76,33,80,83, </key>
|
||||||
<key name="box_tr1"> 5, </key>
|
<key name="box_tr1"> 5, </key>
|
||||||
<key name="box_tr2"> 5, </key>
|
<key name="box_tr2"> 5, </key>
|
||||||
<key name="box1"> 44,57,59, </key>
|
<key name="box1"> 44,57,59, </key>
|
||||||
@ -148,15 +148,17 @@
|
|||||||
<key name="c1"> 65, </key>
|
<key name="c1"> 65, </key>
|
||||||
<key name="c2"> 65, </key>
|
<key name="c2"> 65, </key>
|
||||||
<key name="cad"> 38,30, </key>
|
<key name="cad"> 38,30, </key>
|
||||||
<key name="calculat"> 33, </key>
|
<key name="calculat"> 43,33, </key>
|
||||||
<key name="camera"> 82, </key>
|
<key name="camera"> 82, </key>
|
||||||
<key name="cas"> 50,43,48,73, </key>
|
<key name="cas"> 50,43,48,61,73, </key>
|
||||||
<key name="cascad"> 51, </key>
|
<key name="cascad"> 51, </key>
|
||||||
<key name="catia"> 32, </key>
|
<key name="catia"> 32, </key>
|
||||||
<key name="cent"> 7,14,20,25,44,46,47,51,67,70,77,33, </key>
|
<key name="cc"> 51, </key>
|
||||||
|
<key name="cent"> 7,14,20,25,44,46,47,51,67,70,74,77,33, </key>
|
||||||
<key name="center"> 26, </key>
|
<key name="center"> 26, </key>
|
||||||
<key name="centerofscal"> 62, </key>
|
<key name="centerofscal"> 62, </key>
|
||||||
<key name="central"> 20,23,62,65, </key>
|
<key name="central"> 20,23,61,62,65, </key>
|
||||||
|
<key name="centralpoint"> 61, </key>
|
||||||
<key name="certain"> 65,83, </key>
|
<key name="certain"> 65,83, </key>
|
||||||
<key name="chain"> 5, </key>
|
<key name="chain"> 5, </key>
|
||||||
<key name="chamf"> 9,74, </key>
|
<key name="chamf"> 9,74, </key>
|
||||||
@ -164,15 +166,15 @@
|
|||||||
<key name="chamfer_all"> 74, </key>
|
<key name="chamfer_all"> 74, </key>
|
||||||
<key name="chamfer_f"> 74, </key>
|
<key name="chamfer_f"> 74, </key>
|
||||||
<key name="chamfer_f1"> 74, </key>
|
<key name="chamfer_f1"> 74, </key>
|
||||||
<key name="chang"> 10,11,16,41,76,79,81, </key>
|
<key name="chang"> 10,11,16,41,51,76,79,81, </key>
|
||||||
<key name="changeorientation"> 10, </key>
|
<key name="changeorientation"> 10, </key>
|
||||||
<key name="check"> 12,13,27,29,44,59,65,73,33, </key>
|
<key name="check"> 12,13,27,29,44,59,65,73,33, </key>
|
||||||
<key name="check_box"> 5, </key>
|
<key name="check_box"> 5, </key>
|
||||||
<key name="checkbox"> 10,45,46,47,61,72,75,33, </key>
|
<key name="checkbox"> 10,45,46,47,61,72,75,33, </key>
|
||||||
<key name="checkcompoundofblock"> 44,33, </key>
|
<key name="checkcompoundofblock"> 44,33, </key>
|
||||||
<key name="checkshap"> 44,59, </key>
|
<key name="checkshap"> 44,59,33, </key>
|
||||||
<key name="choic"> 21, </key>
|
<key name="choic"> 21, </key>
|
||||||
<key name="choos"> 27,32,43, </key>
|
<key name="choos"> 27,32,43,51,53, </key>
|
||||||
<key name="circl"> 3,14,67, </key>
|
<key name="circl"> 3,14,67, </key>
|
||||||
<key name="circle1"> 3, </key>
|
<key name="circle1"> 3, </key>
|
||||||
<key name="circle2"> 3, </key>
|
<key name="circle2"> 3, </key>
|
||||||
@ -213,7 +215,7 @@
|
|||||||
<key name="consol"> 33, </key>
|
<key name="consol"> 33, </key>
|
||||||
<key name="constraint"> 50, </key>
|
<key name="constraint"> 50, </key>
|
||||||
<key name="construct"> 50,69, </key>
|
<key name="construct"> 50,69, </key>
|
||||||
<key name="construction"> 21,38,30,51,31, </key>
|
<key name="construction"> 21,38,30,43,51,31, </key>
|
||||||
<key name="contain"> 0,13,15,58, </key>
|
<key name="contain"> 0,13,15,58, </key>
|
||||||
<key name="content"> 40,32,51, </key>
|
<key name="content"> 40,32,51, </key>
|
||||||
<key name="continuiti"> 65, </key>
|
<key name="continuiti"> 65, </key>
|
||||||
@ -225,7 +227,7 @@
|
|||||||
<key name="conversion"> 65, </key>
|
<key name="conversion"> 65, </key>
|
||||||
<key name="convert"> 65, </key>
|
<key name="convert"> 65, </key>
|
||||||
<key name="coord"> 44, </key>
|
<key name="coord"> 44, </key>
|
||||||
<key name="coordinat"> 7,20,23,26,43,44,46,51,56,67,70,74,75,77,33,78,82, </key>
|
<key name="coordinat"> 7,20,23,26,43,44,46,51,55,56,67,70,74,75,77,33,78,82, </key>
|
||||||
<key name="copy"> 10,45,46,61,75, </key>
|
<key name="copy"> 10,45,46,61,75, </key>
|
||||||
<key name="corn"> 65, </key>
|
<key name="corn"> 65, </key>
|
||||||
<key name="corner"> 7,8, </key>
|
<key name="corner"> 7,8, </key>
|
||||||
@ -241,11 +243,10 @@
|
|||||||
<key name="creation"> 1,3,7,14,15,18,19,20,21,23,24,25,28,29,35,37,38,40,30,42,54,55,56,57,59,60,66,69,70,77,78,80,83, </key>
|
<key name="creation"> 1,3,7,14,15,18,19,20,21,23,24,25,28,29,35,37,38,40,30,42,54,55,56,57,59,60,66,69,70,77,78,80,83, </key>
|
||||||
<key name="criteria"> 5, </key>
|
<key name="criteria"> 5, </key>
|
||||||
<key name="cros"> 51, </key>
|
<key name="cros"> 51, </key>
|
||||||
<key name="cs"> 43, </key>
|
|
||||||
<key name="cs1"> 74, </key>
|
<key name="cs1"> 74, </key>
|
||||||
<key name="cs2"> 74, </key>
|
<key name="cs2"> 74, </key>
|
||||||
<key name="cub"> 46, </key>
|
<key name="cub"> 46, </key>
|
||||||
<key name="current"> 7,42,51,67,70, </key>
|
<key name="current"> 7,42,51,53,67,70, </key>
|
||||||
<key name="curv"> 3,21,35,65,67, </key>
|
<key name="curv"> 3,21,35,65,67, </key>
|
||||||
<key name="curvatur"> 65, </key>
|
<key name="curvatur"> 65, </key>
|
||||||
<key name="curve2dmod"> 65, </key>
|
<key name="curve2dmod"> 65, </key>
|
||||||
@ -269,17 +270,20 @@
|
|||||||
<key name="definit"> 72, </key>
|
<key name="definit"> 72, </key>
|
||||||
<key name="definition"> 54, </key>
|
<key name="definition"> 54, </key>
|
||||||
<key name="deflection"> 2, </key>
|
<key name="deflection"> 2, </key>
|
||||||
|
<key name="defn"> 61, </key>
|
||||||
<key name="degenerat"> 33, </key>
|
<key name="degenerat"> 33, </key>
|
||||||
<key name="degre"> 35,60,65,67, </key>
|
<key name="degre"> 35,60,65,67, </key>
|
||||||
<key name="delet"> 53,83, </key>
|
<key name="delet"> 83, </key>
|
||||||
<key name="density"> 2, </key>
|
<key name="density"> 2, </key>
|
||||||
<key name="depend"> 48,65, </key>
|
<key name="depend"> 48,65, </key>
|
||||||
<key name="derivativ"> 65, </key>
|
<key name="derivativ"> 65, </key>
|
||||||
<key name="descr"> 44, </key>
|
<key name="descr"> 44, </key>
|
||||||
|
<key name="describ"> 79, </key>
|
||||||
<key name="description"> 50,44,67,68,33, </key>
|
<key name="description"> 50,44,67,68,33, </key>
|
||||||
<key name="design"> 83, </key>
|
<key name="design"> 83, </key>
|
||||||
<key name="destin"> 38,30, </key>
|
<key name="destin"> 38,30, </key>
|
||||||
<key name="destination"> 67, </key>
|
<key name="destination"> 67, </key>
|
||||||
|
<key name="detail"> 79, </key>
|
||||||
<key name="detect"> 12,64,72, </key>
|
<key name="detect"> 12,64,72, </key>
|
||||||
<key name="detection"> 65, </key>
|
<key name="detection"> 65, </key>
|
||||||
<key name="develop"> 51, </key>
|
<key name="develop"> 51, </key>
|
||||||
@ -290,7 +294,7 @@
|
|||||||
<key name="dir"> 47,49, </key>
|
<key name="dir"> 47,49, </key>
|
||||||
<key name="dir1"> 49, </key>
|
<key name="dir1"> 49, </key>
|
||||||
<key name="dir2"> 49, </key>
|
<key name="dir2"> 49, </key>
|
||||||
<key name="direct"> 43, </key>
|
<key name="direct"> 43,61, </key>
|
||||||
<key name="direction"> 2,14,20,25,28,43,47,48,49,51,60,61,65,67,77, </key>
|
<key name="direction"> 2,14,20,25,28,43,47,48,49,51,60,61,65,67,77, </key>
|
||||||
<key name="dirfaceid1"> 48, </key>
|
<key name="dirfaceid1"> 48, </key>
|
||||||
<key name="dirfaceid1u"> 48, </key>
|
<key name="dirfaceid1u"> 48, </key>
|
||||||
@ -303,6 +307,7 @@
|
|||||||
<key name="distanc"> 39,44,52,65,33, </key>
|
<key name="distanc"> 39,44,52,65,33, </key>
|
||||||
<key name="divid"> 0,59, </key>
|
<key name="divid"> 0,59, </key>
|
||||||
<key name="divideedg"> 0,59, </key>
|
<key name="divideedg"> 0,59, </key>
|
||||||
|
<key name="documentation"> 79, </key>
|
||||||
<key name="doesn"> 40,51, </key>
|
<key name="doesn"> 40,51, </key>
|
||||||
<key name="don"> 7,10,15,28,49,51,70, </key>
|
<key name="don"> 7,10,15,28,49,51,70, </key>
|
||||||
<key name="doubl"> 47,48,49,67,76, </key>
|
<key name="doubl"> 47,48,49,67,76, </key>
|
||||||
@ -318,7 +323,7 @@
|
|||||||
<key name="dx"> 7,44,67,75,78, </key>
|
<key name="dx"> 7,44,67,75,78, </key>
|
||||||
<key name="dy"> 7,44,67,75,78, </key>
|
<key name="dy"> 7,44,67,75,78, </key>
|
||||||
<key name="dz"> 7,44,75,78, </key>
|
<key name="dz"> 7,44,75,78, </key>
|
||||||
<key name="e"> 44,65, </key>
|
<key name="e"> 44,53,65, </key>
|
||||||
<key name="e1"> 50, </key>
|
<key name="e1"> 50, </key>
|
||||||
<key name="e2"> 50, </key>
|
<key name="e2"> 50, </key>
|
||||||
<key name="e3"> 50, </key>
|
<key name="e3"> 50, </key>
|
||||||
@ -351,10 +356,10 @@
|
|||||||
<key name="eraseall"> 79, </key>
|
<key name="eraseall"> 79, </key>
|
||||||
<key name="eraseon"> 79, </key>
|
<key name="eraseon"> 79, </key>
|
||||||
<key name="error"> 12,40,33, </key>
|
<key name="error"> 12,40,33, </key>
|
||||||
<key name="etc"> 26,65, </key>
|
<key name="etc"> 26,53,65, </key>
|
||||||
<key name="exampl"> 0,1,2,50,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,32,41,42,43,45,46,47,48,49,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,78,80,81,83, </key>
|
<key name="exampl"> 0,1,2,50,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,32,41,42,43,45,46,47,48,49,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,78,80,81,83, </key>
|
||||||
<key name="except"> 73, </key>
|
<key name="except"> 73, </key>
|
||||||
<key name="exist"> 55,67,83, </key>
|
<key name="exist"> 67,83, </key>
|
||||||
<key name="expand"> 32, </key>
|
<key name="expand"> 32, </key>
|
||||||
<key name="explod"> 5,26,27,37, </key>
|
<key name="explod"> 5,26,27,37, </key>
|
||||||
<key name="export"> 38,32,30,51,79, </key>
|
<key name="export"> 38,32,30,51,79, </key>
|
||||||
@ -388,13 +393,14 @@
|
|||||||
<key name="factor"> 62,74, </key>
|
<key name="factor"> 62,74, </key>
|
||||||
<key name="fail"> 44,59, </key>
|
<key name="fail"> 44,59, </key>
|
||||||
<key name="fals"> 12, </key>
|
<key name="fals"> 12, </key>
|
||||||
|
<key name="far"> 53, </key>
|
||||||
<key name="field"> 10, </key>
|
<key name="field"> 10, </key>
|
||||||
<key name="fil"> 16,18,35,32,43,79,81, </key>
|
<key name="fil"> 16,18,35,32,79,81, </key>
|
||||||
<key name="fill"> 72, </key>
|
<key name="fill"> 72, </key>
|
||||||
<key name="fillet"> 9,34,74, </key>
|
<key name="fillet"> 9,34,74, </key>
|
||||||
<key name="filletall"> 74, </key>
|
<key name="filletall"> 74, </key>
|
||||||
<key name="final"> 45,46,55,56,75,82,83, </key>
|
<key name="final"> 45,46,55,56,75,82,83, </key>
|
||||||
<key name="first"> 7,14,20,23,24,28,43,45,46,48,49,53,55,56,65,68,70,75,77,31,78,82, </key>
|
<key name="first"> 7,14,20,23,24,28,43,45,46,48,49,53,55,56,61,65,68,70,75,77,31,78,82, </key>
|
||||||
<key name="fit"> 51, </key>
|
<key name="fit"> 51, </key>
|
||||||
<key name="fix"> 65, </key>
|
<key name="fix"> 65, </key>
|
||||||
<key name="fixfacesiz"> 65, </key>
|
<key name="fixfacesiz"> 65, </key>
|
||||||
@ -408,7 +414,7 @@
|
|||||||
<key name="fre"> 12,13,59,64,72, </key>
|
<key name="fre"> 12,13,59,64,72, </key>
|
||||||
<key name="function"> 38,30,51,74, </key>
|
<key name="function"> 38,30,51,74, </key>
|
||||||
<key name="functionaliti"> 50, </key>
|
<key name="functionaliti"> 50, </key>
|
||||||
<key name="functionality"> 51,67,83, </key>
|
<key name="functionality"> 51,53,67,83, </key>
|
||||||
<key name="fus"> 6,11,36,31, </key>
|
<key name="fus"> 6,11,36,31, </key>
|
||||||
<key name="fuse_id"> 11, </key>
|
<key name="fuse_id"> 11, </key>
|
||||||
<key name="g1"> 65, </key>
|
<key name="g1"> 65, </key>
|
||||||
@ -421,7 +427,7 @@
|
|||||||
<key name="geom"> 3,4,5,6,8,11,18,37,40,44,57,58,59,68,74,33, </key>
|
<key name="geom"> 3,4,5,6,8,11,18,37,40,44,57,58,59,68,74,33, </key>
|
||||||
<key name="geom_object"> 0,1,2,50,7,9,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,45,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,80,83, </key>
|
<key name="geom_object"> 0,1,2,50,7,9,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,45,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,80,83, </key>
|
||||||
<key name="geometric"> 1,50,14,19,21,24,25,28,29,35,42,54,55,56,60,65,66,69,78,79,80, </key>
|
<key name="geometric"> 1,50,14,19,21,24,25,28,29,35,42,54,55,56,60,65,66,69,78,79,80, </key>
|
||||||
<key name="geometrical"> 3,11,17,37,38,32,30,47,51,31,33,79,81,83, </key>
|
<key name="geometrical"> 3,11,17,37,38,32,30,47,51,53,31,33,79,81,83, </key>
|
||||||
<key name="geometry"> 38,32,30,51,59,65,33, </key>
|
<key name="geometry"> 38,32,30,51,59,65,33, </key>
|
||||||
<key name="geompy"> 0,1,2,3,4,50,5,6,7,8,9,10,11,12,14,15,17,18,19,20,21,23,24,25,26,27,28,29,34,35,36,37,39,40,42,43,44,45,46,47,48,49,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77,31,33,78,80,83, </key>
|
<key name="geompy"> 0,1,2,3,4,50,5,6,7,8,9,10,11,12,14,15,17,18,19,20,21,23,24,25,26,27,28,29,34,35,36,37,39,40,42,43,44,45,46,47,48,49,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77,31,33,78,80,83, </key>
|
||||||
<key name="get"> 5,44,59,74,33, </key>
|
<key name="get"> 5,44,59,74,33, </key>
|
||||||
@ -435,14 +441,15 @@
|
|||||||
<key name="gg"> 3,4,5,6,8,11,16,18,37,40,44,57,59,68,74,76,81, </key>
|
<key name="gg"> 3,4,5,6,8,11,16,18,37,40,44,57,59,68,74,76,81, </key>
|
||||||
<key name="giv"> 14,25,32,55,65, </key>
|
<key name="giv"> 14,25,32,55,65, </key>
|
||||||
<key name="given"> 3,5,8,9,13,18,23,26,27,29,34,37,39,42,47,52,56,59,65,68,74,77,33, </key>
|
<key name="given"> 3,5,8,9,13,18,23,26,27,29,34,37,39,42,47,52,56,59,65,68,74,77,33, </key>
|
||||||
<key name="global"> 43,46,51, </key>
|
<key name="global"> 46,51, </key>
|
||||||
<key name="glu"> 5,39,44,53,59,33, </key>
|
<key name="glu"> 5,39,44,59,33, </key>
|
||||||
<key name="good"> 51, </key>
|
<key name="good"> 51, </key>
|
||||||
<key name="gravity"> 26,44,47,33, </key>
|
<key name="gravity"> 26,44,47,33, </key>
|
||||||
<key name="great"> 51, </key>
|
<key name="great"> 51, </key>
|
||||||
<key name="group"> 5,38,40,30,51,58,83, </key>
|
<key name="group"> 5,38,40,30,51,58,83, </key>
|
||||||
<key name="group_n"> 83, </key>
|
<key name="group_n"> 83, </key>
|
||||||
<key name="group1"> 40, </key>
|
<key name="group1"> 40, </key>
|
||||||
|
<key name="gui"> 79, </key>
|
||||||
<key name="handl"> 83, </key>
|
<key name="handl"> 83, </key>
|
||||||
<key name="hav"> 65,66, </key>
|
<key name="hav"> 65,66, </key>
|
||||||
<key name="height"> 6,20,23,28,57,59,74, </key>
|
<key name="height"> 6,20,23,28,57,59,74, </key>
|
||||||
@ -455,7 +462,7 @@
|
|||||||
<key name="hol"> 59,72, </key>
|
<key name="hol"> 59,72, </key>
|
||||||
<key name="hold"> 80, </key>
|
<key name="hold"> 80, </key>
|
||||||
<key name="how"> 33, </key>
|
<key name="how"> 33, </key>
|
||||||
<key name="i"> 18,37,40,59,65, </key>
|
<key name="i"> 18,37,40,53,59,65, </key>
|
||||||
<key name="i11"> 33, </key>
|
<key name="i11"> 33, </key>
|
||||||
<key name="i12"> 33, </key>
|
<key name="i12"> 33, </key>
|
||||||
<key name="i13"> 33, </key>
|
<key name="i13"> 33, </key>
|
||||||
@ -523,9 +530,9 @@
|
|||||||
<key name="id_p"> 59, </key>
|
<key name="id_p"> 59, </key>
|
||||||
<key name="id_p_on_arc"> 3, </key>
|
<key name="id_p_on_arc"> 3, </key>
|
||||||
<key name="id_p0"> 3, </key>
|
<key name="id_p0"> 3, </key>
|
||||||
<key name="id_p1"> 3,8, </key>
|
<key name="id_p1"> 3,8,74, </key>
|
||||||
<key name="id_p100"> 3, </key>
|
<key name="id_p100"> 3, </key>
|
||||||
<key name="id_p2"> 3,8, </key>
|
<key name="id_p2"> 3,8,74, </key>
|
||||||
<key name="id_p3"> 3,8, </key>
|
<key name="id_p3"> 3,8, </key>
|
||||||
<key name="id_p4"> 3,8,74, </key>
|
<key name="id_p4"> 3,8,74, </key>
|
||||||
<key name="id_partition1"> 4, </key>
|
<key name="id_partition1"> 4, </key>
|
||||||
@ -551,7 +558,8 @@
|
|||||||
<key name="id_revolution"> 18, </key>
|
<key name="id_revolution"> 18, </key>
|
||||||
<key name="id_rot1d"> 74, </key>
|
<key name="id_rot1d"> 74, </key>
|
||||||
<key name="id_rot2d"> 74, </key>
|
<key name="id_rot2d"> 74, </key>
|
||||||
<key name="id_rotation"> 74, </key>
|
<key name="id_rotation1"> 74, </key>
|
||||||
|
<key name="id_rotation2"> 74, </key>
|
||||||
<key name="id_scal"> 74, </key>
|
<key name="id_scal"> 74, </key>
|
||||||
<key name="id_section"> 6, </key>
|
<key name="id_section"> 6, </key>
|
||||||
<key name="id_sew"> 59, </key>
|
<key name="id_sew"> 59, </key>
|
||||||
@ -584,12 +592,14 @@
|
|||||||
<key name="idlist"> 59,74, </key>
|
<key name="idlist"> 59,74, </key>
|
||||||
<key name="idlist_"> 74, </key>
|
<key name="idlist_"> 74, </key>
|
||||||
<key name="idlist_f"> 74, </key>
|
<key name="idlist_f"> 74, </key>
|
||||||
<key name="if"> 0,10,12,15,20,29,40,44,51,53,59,65,72,73,33, </key>
|
<key name="if"> 0,10,12,15,20,29,40,44,51,59,65,72,73,33, </key>
|
||||||
<key name="ig"> 38,32,30, </key>
|
<key name="ig"> 38,32,30, </key>
|
||||||
|
<key name="ignor"> 53, </key>
|
||||||
<key name="ii"> 5, </key>
|
<key name="ii"> 5, </key>
|
||||||
<key name="imag"> 45,51,74,79, </key>
|
<key name="imag"> 45,51,74,79, </key>
|
||||||
<key name="imp"> 65, </key>
|
<key name="imp"> 65, </key>
|
||||||
<key name="implement"> 32, </key>
|
<key name="implement"> 32, </key>
|
||||||
|
<key name="implementation"> 53, </key>
|
||||||
<key name="impli"> 65, </key>
|
<key name="impli"> 65, </key>
|
||||||
<key name="import"> 3,4,5,6,8,11,18,37,38,40,32,30,44,57,59,68,74,33, </key>
|
<key name="import"> 3,4,5,6,8,11,18,37,38,40,32,30,44,57,59,68,74,33, </key>
|
||||||
<key name="importation"> 32, </key>
|
<key name="importation"> 32, </key>
|
||||||
@ -601,14 +611,13 @@
|
|||||||
<key name="increas"> 15, </key>
|
<key name="increas"> 15, </key>
|
||||||
<key name="independent"> 17, </key>
|
<key name="independent"> 17, </key>
|
||||||
<key name="index"> 26,83, </key>
|
<key name="index"> 26,83, </key>
|
||||||
<key name="indic"> 9,26,53,59, </key>
|
<key name="indic"> 9,26,59, </key>
|
||||||
<key name="indicat"> 49,56, </key>
|
<key name="indicat"> 49,56, </key>
|
||||||
<key name="inertia"> 44,33, </key>
|
<key name="inertia"> 44,33, </key>
|
||||||
<key name="inform"> 33, </key>
|
<key name="inform"> 33, </key>
|
||||||
<key name="initial"> 10,45,46,47,61,62,75, </key>
|
<key name="initial"> 10,45,46,47,61,62,75, </key>
|
||||||
<key name="inquir"> 33, </key>
|
<key name="inquir"> 33, </key>
|
||||||
<key name="insert"> 15, </key>
|
<key name="insert"> 15, </key>
|
||||||
<key name="insid"> 53, </key>
|
|
||||||
<key name="instead"> 20, </key>
|
<key name="instead"> 20, </key>
|
||||||
<key name="integ"> 48, </key>
|
<key name="integ"> 48, </key>
|
||||||
<key name="integer"> 27,48, </key>
|
<key name="integer"> 27,48, </key>
|
||||||
@ -660,7 +669,7 @@
|
|||||||
<key name="length"> 0,44,67,33, </key>
|
<key name="length"> 0,44,67,33, </key>
|
||||||
<key name="li"> 1,14, </key>
|
<key name="li"> 1,14, </key>
|
||||||
<key name="limit"> 53, </key>
|
<key name="limit"> 53, </key>
|
||||||
<key name="lin"> 2,3,42,67,83, </key>
|
<key name="lin"> 2,3,42,43,67,83, </key>
|
||||||
<key name="line1"> 3, </key>
|
<key name="line1"> 3, </key>
|
||||||
<key name="line2"> 3, </key>
|
<key name="line2"> 3, </key>
|
||||||
<key name="linear"> 67, </key>
|
<key name="linear"> 67, </key>
|
||||||
@ -678,10 +687,10 @@
|
|||||||
<key name="listofwireid"> 72, </key>
|
<key name="listofwireid"> 72, </key>
|
||||||
<key name="listshap"> 34, </key>
|
<key name="listshap"> 34, </key>
|
||||||
<key name="ll"> 51, </key>
|
<key name="ll"> 51, </key>
|
||||||
<key name="local"> 43,46,52,67,74, </key>
|
<key name="local"> 43,46,52,55,67,74,82, </key>
|
||||||
<key name="localcs1"> 46, </key>
|
<key name="localcs1"> 46, </key>
|
||||||
<key name="localcs2"> 46, </key>
|
<key name="localcs2"> 46, </key>
|
||||||
<key name="locat"> 56, </key>
|
<key name="locat"> 51,56, </key>
|
||||||
<key name="location"> 32,43,46,74, </key>
|
<key name="location"> 32,43,46,74, </key>
|
||||||
<key name="lock"> 10,51, </key>
|
<key name="lock"> 10,51, </key>
|
||||||
<key name="lsc"> 46, </key>
|
<key name="lsc"> 46, </key>
|
||||||
@ -690,7 +699,7 @@
|
|||||||
<key name="main"> 0,1,2,50,7,9,10,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,43,44,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,80,82,83, </key>
|
<key name="main"> 0,1,2,50,7,9,10,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,43,44,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,80,82,83, </key>
|
||||||
<key name="mainshap"> 83, </key>
|
<key name="mainshap"> 83, </key>
|
||||||
<key name="major"> 25,77, </key>
|
<key name="major"> 25,77, </key>
|
||||||
<key name="mak"> 5,6,9,44,48,49,53,59,74,75,83, </key>
|
<key name="mak"> 5,6,9,44,48,49,59,74,75,83, </key>
|
||||||
<key name="make_block_explod"> 5, </key>
|
<key name="make_block_explod"> 5, </key>
|
||||||
<key name="makearc"> 1,3,18,37,59,68,74, </key>
|
<key name="makearc"> 1,3,18,37,59,68,74, </key>
|
||||||
<key name="makebezi"> 3,21, </key>
|
<key name="makebezi"> 3,21, </key>
|
||||||
@ -753,6 +762,7 @@
|
|||||||
<key name="makequad4vertic"> 50,8, </key>
|
<key name="makequad4vertic"> 50,8, </key>
|
||||||
<key name="makerevolution"> 18,60, </key>
|
<key name="makerevolution"> 18,60, </key>
|
||||||
<key name="makerotation"> 59,61,74, </key>
|
<key name="makerotation"> 59,61,74, </key>
|
||||||
|
<key name="makerotationthreepoint"> 61,74, </key>
|
||||||
<key name="makescaletransform"> 62,74, </key>
|
<key name="makescaletransform"> 62,74, </key>
|
||||||
<key name="makesection"> 6,63, </key>
|
<key name="makesection"> 6,63, </key>
|
||||||
<key name="makesew"> 59,64, </key>
|
<key name="makesew"> 59,64, </key>
|
||||||
@ -773,10 +783,9 @@
|
|||||||
<key name="makevertexoncurv"> 3,56, </key>
|
<key name="makevertexoncurv"> 3,56, </key>
|
||||||
<key name="makevertexwithref"> 3,56, </key>
|
<key name="makevertexwithref"> 3,56, </key>
|
||||||
<key name="makewir"> 3,18,37,59,68,74,80, </key>
|
<key name="makewir"> 3,18,37,59,68,74,80, </key>
|
||||||
<key name="manual"> 83, </key>
|
<key name="manual"> 51,83, </key>
|
||||||
<key name="mark"> 51, </key>
|
<key name="mark"> 51, </key>
|
||||||
<key name="mas"> 44,33, </key>
|
<key name="mas"> 44,33, </key>
|
||||||
<key name="material"> 53, </key>
|
|
||||||
<key name="math"> 44,59,74, </key>
|
<key name="math"> 44,59,74, </key>
|
||||||
<key name="matrix"> 44,33, </key>
|
<key name="matrix"> 44,33, </key>
|
||||||
<key name="max"> 27,35,44,65, </key>
|
<key name="max"> 27,35,44,65, </key>
|
||||||
@ -819,7 +828,7 @@
|
|||||||
<key name="model"> 2,38,30, </key>
|
<key name="model"> 2,38,30, </key>
|
||||||
<key name="modifi"> 15,46, </key>
|
<key name="modifi"> 15,46, </key>
|
||||||
<key name="modify"> 46,74, </key>
|
<key name="modify"> 46,74, </key>
|
||||||
<key name="modul"> 38,32,30,51, </key>
|
<key name="modul"> 38,32,30,51,79, </key>
|
||||||
<key name="moment"> 44,33, </key>
|
<key name="moment"> 44,33, </key>
|
||||||
<key name="mous"> 51,79, </key>
|
<key name="mous"> 51,79, </key>
|
||||||
<key name="mov"> 46,49, </key>
|
<key name="mov"> 46,49, </key>
|
||||||
@ -844,13 +853,13 @@
|
|||||||
<key name="nbtimesv"> 48, </key>
|
<key name="nbtimesv"> 48, </key>
|
||||||
<key name="ncentr"> 44, </key>
|
<key name="ncentr"> 44, </key>
|
||||||
<key name="ncompound"> 44, </key>
|
<key name="ncompound"> 44, </key>
|
||||||
<key name="ne"> 7,9,26,28,29,34,35,47,49,54,60,61,62,65,70,75, </key>
|
<key name="ne"> 7,9,26,28,29,34,35,47,49,54,60,62,65,70,75, </key>
|
||||||
<key name="necessari"> 65, </key>
|
<key name="necessari"> 65, </key>
|
||||||
<key name="necessary"> 9,34,65,67,33, </key>
|
<key name="necessary"> 9,34,65,67,33, </key>
|
||||||
<key name="need"> 15, </key>
|
<key name="need"> 15,61, </key>
|
||||||
<key name="negativ"> 52, </key>
|
<key name="negativ"> 52, </key>
|
||||||
<key name="neighbour"> 65, </key>
|
<key name="neighbour"> 65, </key>
|
||||||
<key name="new"> 1,50,7,14,15,19,20,21,23,24,25,26,28,29,35,42,43,51,54,55,56,60,66,67,69,70,74,77,78,79,80,82,83, </key>
|
<key name="new"> 1,50,7,14,15,19,20,21,23,24,25,26,28,29,35,42,43,51,53,54,55,56,60,66,67,69,70,74,77,78,79,80,82,83, </key>
|
||||||
<key name="ninertia"> 44, </key>
|
<key name="ninertia"> 44, </key>
|
||||||
<key name="nminimal"> 44, </key>
|
<key name="nminimal"> 44, </key>
|
||||||
<key name="nod"> 21, </key>
|
<key name="nod"> 21, </key>
|
||||||
@ -863,14 +872,14 @@
|
|||||||
<key name="nth"> 65, </key>
|
<key name="nth"> 65, </key>
|
||||||
<key name="numb"> 27,35,41,47,48,49,52,59,64,65,72,74,79, </key>
|
<key name="numb"> 27,35,41,47,48,49,52,59,64,65,72,74,79, </key>
|
||||||
<key name="number"> 48, </key>
|
<key name="number"> 48, </key>
|
||||||
<key name="object"> 1,2,3,4,5,6,8,9,10,11,14,16,17,18,19,21,24,25,26,28,29,34,35,37,38,40,32,30,42,43,45,46,47,51,52,54,55,56,57,58,59,60,61,65,66,68,69,73,74,75,31,33,78,79,80,81,83, </key>
|
<key name="object"> 1,2,3,4,5,6,8,9,10,11,14,16,17,18,19,21,24,25,26,28,29,34,35,37,38,40,32,30,42,43,45,46,47,51,52,53,54,55,56,57,58,59,60,61,65,66,68,69,73,74,75,31,33,78,79,80,81,83, </key>
|
||||||
<key name="obtain"> 26,44,46,65, </key>
|
<key name="obtain"> 26,44,46,65, </key>
|
||||||
<key name="occ"> 0,9,15,34,51,71,72,73,79,83, </key>
|
<key name="occ"> 0,9,15,34,51,71,72,73,79,83, </key>
|
||||||
<key name="occur"> 12, </key>
|
<key name="occur"> 12, </key>
|
||||||
<key name="offset"> 52,74, </key>
|
<key name="offset"> 52,74, </key>
|
||||||
<key name="ok"> 43,44,59,83, </key>
|
<key name="ok"> 43,44,59,83, </key>
|
||||||
<key name="old"> 56, </key>
|
<key name="old"> 53,56, </key>
|
||||||
<key name="on"> 0,15,22,47,48,49,55,56,59,65,67,82, </key>
|
<key name="on"> 0,15,22,47,48,49,56,59,65,67,82, </key>
|
||||||
<key name="opaqu"> 76, </key>
|
<key name="opaqu"> 76, </key>
|
||||||
<key name="open"> 12,15,32,51,59,83, </key>
|
<key name="open"> 12,15,32,51,59,83, </key>
|
||||||
<key name="openwir"> 12,59, </key>
|
<key name="openwir"> 12,59, </key>
|
||||||
@ -885,11 +894,11 @@
|
|||||||
<key name="orientat"> 51, </key>
|
<key name="orientat"> 51, </key>
|
||||||
<key name="orientation"> 10,51, </key>
|
<key name="orientation"> 10,51, </key>
|
||||||
<key name="origin"> 7,20,23,43,51,70,77,78, </key>
|
<key name="origin"> 7,20,23,43,51,70,77,78, </key>
|
||||||
|
<key name="orthogonal"> 61, </key>
|
||||||
<key name="os"> 59, </key>
|
<key name="os"> 59, </key>
|
||||||
<key name="otherwis"> 0,15,45,46,61,75, </key>
|
<key name="otherwis"> 0,15,45,46,61,75, </key>
|
||||||
<key name="our"> 0,1,2,50,7,9,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,42,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,80,81,83, </key>
|
<key name="our"> 0,1,2,50,7,9,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,42,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,80,81,83, </key>
|
||||||
<key name="out"> 51,65, </key>
|
<key name="out"> 51,65, </key>
|
||||||
<key name="outsid"> 53, </key>
|
|
||||||
<key name="outward"> 10, </key>
|
<key name="outward"> 10, </key>
|
||||||
<key name="ox"> 43,67, </key>
|
<key name="ox"> 43,67, </key>
|
||||||
<key name="oy"> 43, </key>
|
<key name="oy"> 43, </key>
|
||||||
@ -916,9 +925,9 @@
|
|||||||
<key name="p8"> 8,18, </key>
|
<key name="p8"> 8,18, </key>
|
||||||
<key name="p9"> 8, </key>
|
<key name="p9"> 8, </key>
|
||||||
<key name="pan"> 51, </key>
|
<key name="pan"> 51, </key>
|
||||||
<key name="parallel"> 7,42,43,65, </key>
|
<key name="parallel"> 7,42,65, </key>
|
||||||
<key name="paramet"> 0,15,56,65, </key>
|
<key name="paramet"> 0,15,56,65, </key>
|
||||||
<key name="parameter"> 4,16,35,59,65,67,76,79,81, </key>
|
<key name="parameter"> 4,16,35,53,59,65,67,76,79,81, </key>
|
||||||
<key name="parameterization"> 65, </key>
|
<key name="parameterization"> 65, </key>
|
||||||
<key name="parametric"> 65, </key>
|
<key name="parametric"> 65, </key>
|
||||||
<key name="paramt"> 0, </key>
|
<key name="paramt"> 0, </key>
|
||||||
@ -927,16 +936,17 @@
|
|||||||
<key name="partition1"> 4, </key>
|
<key name="partition1"> 4, </key>
|
||||||
<key name="partition2"> 4, </key>
|
<key name="partition2"> 4, </key>
|
||||||
<key name="partition3"> 4, </key>
|
<key name="partition3"> 4, </key>
|
||||||
<key name="pas"> 5,21,42,44,47,55,67, </key>
|
<key name="partitionalgo"> 53, </key>
|
||||||
|
<key name="pas"> 5,21,42,44,47,55,61,67, </key>
|
||||||
<key name="path"> 18,54, </key>
|
<key name="path"> 18,54, </key>
|
||||||
<key name="pathshap"> 54, </key>
|
<key name="pathshap"> 54, </key>
|
||||||
<key name="perform"> 4,26,53,74, </key>
|
<key name="perform"> 4,26,51,74, </key>
|
||||||
<key name="perpendicular"> 67, </key>
|
<key name="perpendicular"> 67, </key>
|
||||||
<key name="pi"> 47,59,74, </key>
|
<key name="pi"> 47,59,74, </key>
|
||||||
<key name="pictur"> 46, </key>
|
<key name="pictur"> 46, </key>
|
||||||
<key name="pip"> 18,54, </key>
|
<key name="pip"> 18,54, </key>
|
||||||
<key name="plac"> 46,51,65, </key>
|
<key name="plac"> 46,51,65, </key>
|
||||||
<key name="plan"> 2,3,4,45,51,53,55,67,74,82,83, </key>
|
<key name="plan"> 2,3,4,45,51,53,55,61,67,74,82,83, </key>
|
||||||
<key name="planar"> 29,67,68,74,82, </key>
|
<key name="planar"> 29,67,68,74,82, </key>
|
||||||
<key name="plane1"> 3, </key>
|
<key name="plane1"> 3, </key>
|
||||||
<key name="plane2"> 3, </key>
|
<key name="plane2"> 3, </key>
|
||||||
@ -944,9 +954,9 @@
|
|||||||
<key name="plug"> 32, </key>
|
<key name="plug"> 32, </key>
|
||||||
<key name="plung"> 2, </key>
|
<key name="plung"> 2, </key>
|
||||||
<key name="png"> 51,79, </key>
|
<key name="png"> 51,79, </key>
|
||||||
<key name="point"> 0,1,3,4,50,7,8,14,15,18,20,21,23,24,25,28,37,40,42,43,44,45,47,51,52,55,56,59,62,65,67,68,70,74,75,77,33,78,83, </key>
|
<key name="point"> 0,1,3,4,50,7,8,14,15,18,20,21,23,24,25,28,37,40,42,43,44,45,47,51,52,55,56,59,61,62,65,67,68,70,74,75,77,33,78,83, </key>
|
||||||
<key name="point1"> 1,3,7,8,14,24,28,42,55,75,78, </key>
|
<key name="point1"> 1,3,7,8,14,24,28,42,55,61,75,78, </key>
|
||||||
<key name="point2"> 1,3,7,8,14,24,28,42,55,75,78, </key>
|
<key name="point2"> 1,3,7,8,14,24,28,42,55,61,75,78, </key>
|
||||||
<key name="point3"> 1,3,8,14,55, </key>
|
<key name="point3"> 1,3,8,14,55, </key>
|
||||||
<key name="point4"> 3,8, </key>
|
<key name="point4"> 3,8, </key>
|
||||||
<key name="point5"> 3, </key>
|
<key name="point5"> 3, </key>
|
||||||
@ -960,9 +970,9 @@
|
|||||||
<key name="possibl"> 5,21,58,65,33, </key>
|
<key name="possibl"> 5,21,58,65,33, </key>
|
||||||
<key name="precision"> 59,64, </key>
|
<key name="precision"> 59,64, </key>
|
||||||
<key name="predefin"> 67, </key>
|
<key name="predefin"> 67, </key>
|
||||||
|
<key name="preferrabl"> 53, </key>
|
||||||
<key name="pres"> 43,51, </key>
|
<key name="pres"> 43,51, </key>
|
||||||
<key name="presentation"> 79, </key>
|
<key name="presentation"> 79, </key>
|
||||||
<key name="presum"> 43, </key>
|
|
||||||
<key name="preview"> 51, </key>
|
<key name="preview"> 51, </key>
|
||||||
<key name="previou"> 65,67, </key>
|
<key name="previou"> 65,67, </key>
|
||||||
<key name="primitiv"> 7,20,23,38,30,57,70,77, </key>
|
<key name="primitiv"> 7,20,23,38,30,57,70,77, </key>
|
||||||
@ -1023,7 +1033,7 @@
|
|||||||
<key name="regard"> 56, </key>
|
<key name="regard"> 56, </key>
|
||||||
<key name="relativ"> 67, </key>
|
<key name="relativ"> 67, </key>
|
||||||
<key name="relevant"> 81, </key>
|
<key name="relevant"> 81, </key>
|
||||||
<key name="remain"> 51,81, </key>
|
<key name="remain"> 51,53,81, </key>
|
||||||
<key name="remaind"> 46, </key>
|
<key name="remaind"> 46, </key>
|
||||||
<key name="remot"> 51, </key>
|
<key name="remot"> 51, </key>
|
||||||
<key name="remov"> 40,45,46,51,59,61,65,71,72,73,75,83, </key>
|
<key name="remov"> 40,45,46,51,59,61,65,71,72,73,75,83, </key>
|
||||||
@ -1055,6 +1065,8 @@
|
|||||||
<key name="rot2d"> 74, </key>
|
<key name="rot2d"> 74, </key>
|
||||||
<key name="rotat"> 47,51,60,61,74, </key>
|
<key name="rotat"> 47,51,60,61,74, </key>
|
||||||
<key name="rotation"> 47,51,59,61,74, </key>
|
<key name="rotation"> 47,51,59,61,74, </key>
|
||||||
|
<key name="rotation1"> 74, </key>
|
||||||
|
<key name="rotation2"> 74, </key>
|
||||||
<key name="rul"> 65, </key>
|
<key name="rul"> 65, </key>
|
||||||
<key name="runtimeerror"> 44,59, </key>
|
<key name="runtimeerror"> 44,59, </key>
|
||||||
<key name="s"> 12,14,15,18,37,48,59,62,71,72,73,83, </key>
|
<key name="s"> 12,14,15,18,37,48,59,62,71,72,73,83, </key>
|
||||||
@ -1070,16 +1082,15 @@
|
|||||||
<key name="script"> 0,1,2,50,7,9,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,42,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,80,81,83, </key>
|
<key name="script"> 0,1,2,50,7,9,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,34,35,36,39,42,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,80,81,83, </key>
|
||||||
<key name="se"> 46,51,81, </key>
|
<key name="se"> 46,51,81, </key>
|
||||||
<key name="search"> 32, </key>
|
<key name="search"> 32, </key>
|
||||||
<key name="second"> 7,14,20,23,28,43,45,46,48,49,53,55,56,65,68,70,75,77,31,78,82, </key>
|
<key name="second"> 7,14,20,23,28,43,45,46,48,49,53,55,56,61,65,68,70,75,77,31,78,82, </key>
|
||||||
<key name="section"> 2,6,51,63,31, </key>
|
<key name="section"> 2,6,51,63,31, </key>
|
||||||
<key name="seem"> 59, </key>
|
<key name="seem"> 59, </key>
|
||||||
<key name="segment"> 65,67, </key>
|
<key name="segment"> 65,67, </key>
|
||||||
<key name="select"> 0,1,2,4,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,40,32,42,43,45,46,47,48,49,51,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,79,80,81,82,83, </key>
|
<key name="select"> 0,1,2,4,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,40,32,42,43,45,46,47,48,49,51,52,53,54,55,56,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,33,78,79,80,81,82,83, </key>
|
||||||
<key name="selection"> 34,67,82,83, </key>
|
<key name="selection"> 34,67,82,83, </key>
|
||||||
<key name="sens"> 53, </key>
|
|
||||||
<key name="separat"> 31, </key>
|
<key name="separat"> 31, </key>
|
||||||
<key name="serv"> 21,28,54,60, </key>
|
<key name="serv"> 21,28,54,60, </key>
|
||||||
<key name="set"> 0,15,27,29,37,47,52,56,82, </key>
|
<key name="set"> 0,15,27,29,37,47,51,52,56,82, </key>
|
||||||
<key name="setcolor"> 11,16, </key>
|
<key name="setcolor"> 11,16, </key>
|
||||||
<key name="setdisplaymod"> 3,4,5,6,8,11,18,37,57,59,68,74,81, </key>
|
<key name="setdisplaymod"> 3,4,5,6,8,11,18,37,57,59,68,74,81, </key>
|
||||||
<key name="settransparency"> 3,11,37,68,74,76, </key>
|
<key name="settransparency"> 3,11,37,68,74,76, </key>
|
||||||
@ -1097,7 +1108,7 @@
|
|||||||
<key name="shar"> 13, </key>
|
<key name="shar"> 13, </key>
|
||||||
<key name="sharp"> 65, </key>
|
<key name="sharp"> 65, </key>
|
||||||
<key name="shel"> 13,19,37,52,66,69,81, </key>
|
<key name="shel"> 13,19,37,52,66,69,81, </key>
|
||||||
<key name="shell"> 50,10,28,37,52,54,60,66,69, </key>
|
<key name="shell"> 50,10,28,37,52,53,54,60,66,69, </key>
|
||||||
<key name="shift"> 46,56,80,83, </key>
|
<key name="shift"> 46,56,80,83, </key>
|
||||||
<key name="short"> 16,81, </key>
|
<key name="short"> 16,81, </key>
|
||||||
<key name="shortcut"> 29, </key>
|
<key name="shortcut"> 29, </key>
|
||||||
@ -1106,9 +1117,9 @@
|
|||||||
<key name="shown"> 43, </key>
|
<key name="shown"> 43, </key>
|
||||||
<key name="sid"> 55, </key>
|
<key name="sid"> 55, </key>
|
||||||
<key name="sign"> 52, </key>
|
<key name="sign"> 52, </key>
|
||||||
<key name="similar"> 55, </key>
|
|
||||||
<key name="simp"> 43, </key>
|
<key name="simp"> 43, </key>
|
||||||
<key name="simpl"> 47,48,49, </key>
|
<key name="simpl"> 47,48,49, </key>
|
||||||
|
<key name="sinc"> 53, </key>
|
||||||
<key name="singl"> 29, </key>
|
<key name="singl"> 29, </key>
|
||||||
<key name="six"> 50,8, </key>
|
<key name="six"> 50,8, </key>
|
||||||
<key name="siz"> 9,55,65, </key>
|
<key name="siz"> 9,55,65, </key>
|
||||||
@ -1120,7 +1131,7 @@
|
|||||||
<key name="skip"> 83, </key>
|
<key name="skip"> 83, </key>
|
||||||
<key name="small"> 51,65, </key>
|
<key name="small"> 51,65, </key>
|
||||||
<key name="so"> 29,46, </key>
|
<key name="so"> 29,46, </key>
|
||||||
<key name="solid"> 50,7,8,20,23,26,28,37,48,52,54,60,69,70,77, </key>
|
<key name="solid"> 50,7,8,20,23,26,28,37,48,52,53,54,60,69,70,77, </key>
|
||||||
<key name="solid1"> 8, </key>
|
<key name="solid1"> 8, </key>
|
||||||
<key name="solid2"> 8, </key>
|
<key name="solid2"> 8, </key>
|
||||||
<key name="sort"> 26, </key>
|
<key name="sort"> 26, </key>
|
||||||
@ -1165,6 +1176,7 @@
|
|||||||
<key name="subtraction"> 46, </key>
|
<key name="subtraction"> 46, </key>
|
||||||
<key name="successful"> 44, </key>
|
<key name="successful"> 44, </key>
|
||||||
<key name="sup_fac"> 59, </key>
|
<key name="sup_fac"> 59, </key>
|
||||||
|
<key name="support"> 53, </key>
|
||||||
<key name="suppres"> 59,71,72,73, </key>
|
<key name="suppres"> 59,71,72,73, </key>
|
||||||
<key name="suppressfac"> 59,71, </key>
|
<key name="suppressfac"> 59,71, </key>
|
||||||
<key name="suppresshol"> 59,72, </key>
|
<key name="suppresshol"> 59,72, </key>
|
||||||
@ -1175,7 +1187,7 @@
|
|||||||
<key name="symmetric"> 74, </key>
|
<key name="symmetric"> 74, </key>
|
||||||
<key name="symmetrical"> 45,74, </key>
|
<key name="symmetrical"> 45,74, </key>
|
||||||
<key name="symmetry"> 45, </key>
|
<key name="symmetry"> 45, </key>
|
||||||
<key name="system"> 20,23,43,46,70,74,82, </key>
|
<key name="system"> 20,23,43,46,55,70,74,82, </key>
|
||||||
<key name="t"> 7,10,28,40,51,70, </key>
|
<key name="t"> 7,10,28,40,51,70, </key>
|
||||||
<key name="tak"> 65, </key>
|
<key name="tak"> 65, </key>
|
||||||
<key name="tangent"> 65,67, </key>
|
<key name="tangent"> 65,67, </key>
|
||||||
@ -1194,8 +1206,8 @@
|
|||||||
<key name="theshap"> 39,59,33, </key>
|
<key name="theshap"> 39,59,33, </key>
|
||||||
<key name="thestartlc"> 46, </key>
|
<key name="thestartlc"> 46, </key>
|
||||||
<key name="thetoleranc"> 39, </key>
|
<key name="thetoleranc"> 39, </key>
|
||||||
<key name="third"> 7, </key>
|
<key name="third"> 7,61, </key>
|
||||||
<key name="thre"> 1,3,14,18,21,37,43,45,55,56,68,74,82, </key>
|
<key name="thre"> 1,3,14,18,21,37,43,45,55,56,61,68,74,82, </key>
|
||||||
<key name="thu"> 65,76, </key>
|
<key name="thu"> 65,76, </key>
|
||||||
<key name="tim"> 21,47,49,56,74, </key>
|
<key name="tim"> 21,47,49,56,74, </key>
|
||||||
<key name="tobezi"> 65, </key>
|
<key name="tobezi"> 65, </key>
|
||||||
@ -1230,16 +1242,16 @@
|
|||||||
<key name="triangl"> 51, </key>
|
<key name="triangl"> 51, </key>
|
||||||
<key name="trihedron"> 51, </key>
|
<key name="trihedron"> 51, </key>
|
||||||
<key name="trimsiz"> 3,4,55, </key>
|
<key name="trimsiz"> 3,4,55, </key>
|
||||||
<key name="tru"> 0,15,53,59,33, </key>
|
<key name="tru"> 0,15,59,33, </key>
|
||||||
<key name="truncat"> 20, </key>
|
<key name="truncat"> 20, </key>
|
||||||
<key name="try"> 29, </key>
|
<key name="try"> 29, </key>
|
||||||
<key name="tt"> 37,68, </key>
|
<key name="tt"> 37,68, </key>
|
||||||
<key name="tui"> 0,1,2,50,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,43,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,79,80,81,83, </key>
|
<key name="tui"> 0,1,2,50,7,9,10,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,42,43,45,46,47,48,49,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,76,77,31,33,78,79,80,81,83, </key>
|
||||||
<key name="tupl"> 33, </key>
|
<key name="tupl"> 33, </key>
|
||||||
<key name="two"> 0,3,4,50,7,8,9,13,17,18,20,24,36,37,39,40,46,47,48,49,53,65,68,70,74,77,33,82,83, </key>
|
<key name="two"> 0,3,4,50,7,8,9,13,17,18,20,24,36,37,39,40,46,47,48,49,53,61,65,68,70,74,77,33,82,83, </key>
|
||||||
<key name="typ"> 21,26,27,53,65,67,31,33,83, </key>
|
<key name="typ"> 21,26,27,53,65,67,31,33,83, </key>
|
||||||
<key name="u"> 65, </key>
|
<key name="u"> 65, </key>
|
||||||
<key name="uncheck"> 10, </key>
|
<key name="uncheck"> 10,51, </key>
|
||||||
<key name="underly"> 15,65, </key>
|
<key name="underly"> 15,65, </key>
|
||||||
<key name="unionlist"> 40, </key>
|
<key name="unionlist"> 40, </key>
|
||||||
<key name="up"> 16,20,81, </key>
|
<key name="up"> 16,20,81, </key>
|
||||||
@ -1270,6 +1282,7 @@
|
|||||||
<key name="vector2_arc2"> 18, </key>
|
<key name="vector2_arc2"> 18, </key>
|
||||||
<key name="vector3"> 18, </key>
|
<key name="vector3"> 18, </key>
|
||||||
<key name="versa"> 65, </key>
|
<key name="versa"> 65, </key>
|
||||||
|
<key name="version"> 53, </key>
|
||||||
<key name="vertex"> 3,4,6,14,15,18,20,23,24,25,28,37,44,45,54,55,56,57,59,60,62,70,74,77,33, </key>
|
<key name="vertex"> 3,4,6,14,15,18,20,23,24,25,28,37,44,45,54,55,56,57,59,60,62,70,74,77,33, </key>
|
||||||
<key name="vertex_n"> 56, </key>
|
<key name="vertex_n"> 56, </key>
|
||||||
<key name="vertex1"> 24, </key>
|
<key name="vertex1"> 24, </key>
|
||||||
@ -1305,7 +1318,7 @@
|
|||||||
<key name="whil"> 12,18,37,44,65,81, </key>
|
<key name="whil"> 12,18,37,44,65,81, </key>
|
||||||
<key name="whos"> 29,33, </key>
|
<key name="whos"> 29,33, </key>
|
||||||
<key name="wid"> 38,30, </key>
|
<key name="wid"> 38,30, </key>
|
||||||
<key name="will"> 0,1,2,50,7,9,10,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,32,42,43,45,46,47,48,49,51,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,78,80,83, </key>
|
<key name="will"> 0,1,2,50,7,9,10,12,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,34,35,36,39,32,42,45,46,47,48,49,51,52,53,54,55,56,58,60,61,62,63,64,65,66,67,69,70,71,72,73,75,77,78,80,83, </key>
|
||||||
<key name="wir"> 3,50,12,15,18,26,28,29,37,44,54,59,60,67,68,72,73,74,80, </key>
|
<key name="wir"> 3,50,12,15,18,26,28,29,37,44,54,59,60,67,68,72,73,74,80, </key>
|
||||||
<key name="wire_clos"> 59, </key>
|
<key name="wire_clos"> 59, </key>
|
||||||
<key name="wire_nam"> 59, </key>
|
<key name="wire_nam"> 59, </key>
|
||||||
@ -1339,7 +1352,6 @@
|
|||||||
<key name="ymax"> 44,33, </key>
|
<key name="ymax"> 44,33, </key>
|
||||||
<key name="ymin"> 44,33, </key>
|
<key name="ymin"> 44,33, </key>
|
||||||
<key name="your"> 16,32,64,72,79,82,83, </key>
|
<key name="your"> 16,32,64,72,79,82,83, </key>
|
||||||
<key name="yourselv"> 43, </key>
|
|
||||||
<key name="yz_fac"> 5, </key>
|
<key name="yz_fac"> 5, </key>
|
||||||
<key name="yz_face_ind"> 5, </key>
|
<key name="yz_face_ind"> 5, </key>
|
||||||
<key name="z"> 2,3,7,43,56,70,33, </key>
|
<key name="z"> 2,3,7,43,56,70,33, </key>
|
||||||
|
@ -44,7 +44,6 @@
|
|||||||
</book>
|
</book>
|
||||||
<book name="Viewing geometrical objects" >
|
<book name="Viewing geometrical objects" >
|
||||||
<item name="Viewing Geometrical Objects" url="viewing_geometrical_objects.htm" />
|
<item name="Viewing Geometrical Objects" url="viewing_geometrical_objects.htm" />
|
||||||
<item name="OCC 3D Viewer" url="occ_viewer.htm" />
|
|
||||||
<item name="Display Mode" url="wireframe_and_shading.htm" />
|
<item name="Display Mode" url="wireframe_and_shading.htm" />
|
||||||
<item name="Color" url="color.htm" />
|
<item name="Color" url="color.htm" />
|
||||||
<item name="Transparency" url="transparency.htm" />
|
<item name="Transparency" url="transparency.htm" />
|
||||||
@ -94,7 +93,7 @@
|
|||||||
</book>
|
</book>
|
||||||
</book>
|
</book>
|
||||||
<item name="Using measurement tools" url="files/salome2_sp3_measuregui_functions.htm" />
|
<item name="Using measurement tools" url="files/salome2_sp3_measuregui_functions.htm" />
|
||||||
<item name="Python Interface geompy.py" url="geompy_doc/namespacegeompy.html" />
|
<item name="Python Interface geompy.py" url="geompy_doc/namespacegeompy.html" />
|
||||||
|
|
||||||
<book name="TUI Scripts" >
|
<book name="TUI Scripts" >
|
||||||
<item name="Viewing Geometrical Objects" url="changing_display_parameters.htm" />
|
<item name="Viewing Geometrical Objects" url="changing_display_parameters.htm" />
|
||||||
|
@ -17,9 +17,20 @@ if (navigator.appName !="Netscape")
|
|||||||
img_whs1 { width:20px; height:20px; border-style:none; }
|
img_whs1 { width:20px; height:20px; border-style:none; }
|
||||||
p.whs2 { font-size:12pt; }
|
p.whs2 { font-size:12pt; }
|
||||||
p.whs3 { font-size:12pt; margin-left:40px; }
|
p.whs3 { font-size:12pt; margin-left:40px; }
|
||||||
img_whs4 { border:none; width:400px; height:231px; float:none; }
|
img_whs4 { border:none; width:400px; height:277px; float:none; border-style:none; }
|
||||||
img_whs5 { border:none; width:312px; height:266px; float:none; border-style:none; }
|
img_whs5 { border:none; width:400px; height:312px; float:none; border-style:none; }
|
||||||
img_whs6 { border:none; width:312px; height:274px; float:none; border-style:none; }
|
img_whs6 { border:none; width:400px; height:320px; float:none; border-style:none; }
|
||||||
|
table.whs7 { x-cell-content-align:top; width:39.231%; border-spacing:0px; }
|
||||||
|
col.whs8 { width:52.696%; }
|
||||||
|
col.whs9 { width:47.304%; }
|
||||||
|
tr.whs10 { x-cell-content-align:top; }
|
||||||
|
td.whs11 { width:52.696%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-left-style:none; border-top-style:none; }
|
||||||
|
p.whs12 { font-style:italic; }
|
||||||
|
td.whs13 { width:47.304%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-top-style:none; border-right-style:none; }
|
||||||
|
td.whs14 { width:52.696%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-bottom-style:none; }
|
||||||
|
img_whs15 { border:none; width:176px; height:217px; border-style:none; }
|
||||||
|
td.whs16 { width:47.304%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; }
|
||||||
|
img_whs17 { border:none; width:191px; height:217px; border-style:none; }
|
||||||
-->
|
-->
|
||||||
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
|
||||||
<!--
|
<!--
|
||||||
@ -82,14 +93,20 @@ if (window.writeIntopicBar)
|
|||||||
</script>
|
</script>
|
||||||
<h1><b style="font-weight: bold;"><span style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="files/salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif" width="20px" height="20px" border="0" class="img_whs1"></font></span></b>Working Plane</h1>
|
<h1><b style="font-weight: bold;"><span style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="files/salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif" width="20px" height="20px" border="0" class="img_whs1"></font></span></b>Working Plane</h1>
|
||||||
|
|
||||||
|
<p>Definition of a <span style="font-weight: bold;"><B>Working Plane</B></span>
|
||||||
|
is necessary for work with <span style="font-weight: bold;"><B><a href="sketcher.htm">Sketcher</a></B></span>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
<p>To create a <span style="font-weight: bold;"><B>Working Plane</B></span> in
|
<p>To create a <span style="font-weight: bold;"><B>Working Plane</B></span> in
|
||||||
the <span style="font-weight: bold;"><B>Main Menu</B></span> select <span style="font-weight: bold;"><B>New
|
the <span style="font-weight: bold;"><B>Main Menu</B></span> select <span style="font-weight: bold;"><B>New
|
||||||
Entity - > Basic - > Working Plane</B></span></p>
|
Entity - > Basic - > Working Plane</B></span></p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
<p class="whs2">There are some algorithms to set the <span
|
<p class="whs2">There is a number of algorithms to set the
|
||||||
style="font-weight: bold;"><B>Working Plane</B></span> and the Camera Position.</p>
|
<span style="font-weight: bold;"><B>Working Plane</B></span> and the Camera Position.</p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
@ -98,12 +115,12 @@ if (window.writeIntopicBar)
|
|||||||
Face</B></span> or a <span style="font-weight: bold;"><B>Local Coordinate System</B></span>
|
Face</B></span> or a <span style="font-weight: bold;"><B>Local Coordinate System</B></span>
|
||||||
to be your <span style="font-weight: bold;"><B>Working Plane</B></span></p>
|
to be your <span style="font-weight: bold;"><B>Working Plane</B></span></p>
|
||||||
|
|
||||||
<p class="whs2"><b>Arguments:</b> Name + 1 selection (face
|
<p class="whs2"><b style="font-weight: bold;">Arguments:</b>
|
||||||
or planar face), </p>
|
Name + 1 selection (face or planar face), </p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
<p class="whs3"><img src="pics/workplane4.png" x-maintain-ratio="TRUE" width="400px" height="231px" border="0" class="img_whs4"></p>
|
<p class="whs3"><img src="pics/workplane4.png" x-maintain-ratio="TRUE" width="400px" height="277px" border="0" class="img_whs4"></p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
@ -112,9 +129,11 @@ if (window.writeIntopicBar)
|
|||||||
|
|
||||||
<p class="whs2"><b style="font-weight: bold;">Arguments:</b>
|
<p class="whs2"><b style="font-weight: bold;">Arguments:</b>
|
||||||
Name + 2
|
Name + 2
|
||||||
vectors, </p>
|
vectors.</p>
|
||||||
|
|
||||||
<p class="whs3"><img src="pics/workplane5.png" x-maintain-ratio="TRUE" width="312px" height="266px" border="0" class="img_whs5"></p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
|
<p class="whs3"><img src="pics/workplane5.png" x-maintain-ratio="TRUE" width="400px" height="312px" border="0" class="img_whs5"></p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
@ -124,9 +143,38 @@ if (window.writeIntopicBar)
|
|||||||
|
|
||||||
<p class="whs2"> </p>
|
<p class="whs2"> </p>
|
||||||
|
|
||||||
<p class="whs3"><img src="pics/workplane6.png" x-maintain-ratio="TRUE" width="312px" height="274px" border="0" class="img_whs6"></p>
|
<p class="whs3"><img src="pics/workplane6.png" x-maintain-ratio="TRUE" width="400px" height="320px" border="0" class="img_whs6"></p>
|
||||||
|
|
||||||
<p class="whs2"> </p>
|
<p> </p>
|
||||||
|
|
||||||
|
<p><span style="font-weight: bold;"><B>Reverse the plane normal</B></span> checkbox
|
||||||
|
allows changing the direction of the working plane.</p>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
<p><span style="font-weight: bold;"><B>Example:</B></span> Working plane on the
|
||||||
|
upper face of a box. </p>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
<table x-use-null-cells cellspacing="0" width="39.231%" class="whs7">
|
||||||
|
<col class="whs8">
|
||||||
|
<col class="whs9">
|
||||||
|
|
||||||
|
<tr valign="top" class="whs10">
|
||||||
|
<td width="52.696%" class="whs11">
|
||||||
|
<p class="whs12">Normal Direction</td>
|
||||||
|
<td width="47.304%" class="whs13">
|
||||||
|
<p class="whs12">Reversed Direction</td></tr>
|
||||||
|
|
||||||
|
<tr valign="top" class="whs10">
|
||||||
|
<td width="52.696%" class="whs14">
|
||||||
|
<p><img src="image36.gif" width="176px" height="217px" border="0" class="img_whs15"></td>
|
||||||
|
<td width="47.304%" class="whs16">
|
||||||
|
<p><img src="image47.gif" width="191px" height="217px" border="0" class="img_whs17"></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
<p> </p>
|
<p> </p>
|
||||||
|
|
||||||
|
119
idl/GEOM_Gen.idl
@ -147,7 +147,7 @@ module GEOM
|
|||||||
/*!
|
/*!
|
||||||
* Get the TopoDS_Shape, for colocated case only.
|
* Get the TopoDS_Shape, for colocated case only.
|
||||||
*/
|
*/
|
||||||
long getShape();
|
long long getShape();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
######################################################################
|
######################################################################
|
||||||
@ -888,6 +888,29 @@ module GEOM
|
|||||||
in boolean theWithContact ,
|
in boolean theWithContact ,
|
||||||
in boolean theWithCorrection );
|
in boolean theWithCorrection );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Create a shape by extrusion of the profile shape along
|
||||||
|
* the path shape. The path shape can be a shell or a face.
|
||||||
|
* the several profiles can be specified in the several locations of path.
|
||||||
|
* \param theSeqBases - list of Bases shape to be extruded.
|
||||||
|
* \param theSeqSubBases - list of corresponding subshapes of section shapes.
|
||||||
|
* \param theLocations - list of locations on the path corresponding
|
||||||
|
* specified list of the Bases shapes. Number of locations
|
||||||
|
* should be equal to number of bases or list of locations can be empty.
|
||||||
|
* \param thePath - Path shape to extrude the base shape along it.
|
||||||
|
* \param theWithContact - the mode defining that the section is translated to be in
|
||||||
|
* contact with the spine.
|
||||||
|
* \param - WithCorrection - defining that the section is rotated to be
|
||||||
|
* orthogonal to the spine tangent in the correspondent point
|
||||||
|
* \return New GEOM_Object, containing the created pipe.
|
||||||
|
*/
|
||||||
|
GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
|
||||||
|
in ListOfGO theSeqSubBases,
|
||||||
|
in ListOfGO theLocations,
|
||||||
|
in GEOM_Object thePath,
|
||||||
|
in boolean theWithContact ,
|
||||||
|
in boolean theWithCorrection );
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -966,6 +989,25 @@ module GEOM
|
|||||||
*/
|
*/
|
||||||
GEOM_Object MakeGlueFaces (in GEOM_Object theShape, in double theTolerance);
|
GEOM_Object MakeGlueFaces (in GEOM_Object theShape, in double theTolerance);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Find coincident faces in theShape for possible gluing.
|
||||||
|
* \param theShape Initial shape.
|
||||||
|
* \param theTolerance Maximum distance between faces, which can be considered as coincident.
|
||||||
|
* \return ListOfGO
|
||||||
|
*/
|
||||||
|
ListOfGO GetGlueFaces (in GEOM_Object theShape, in double theTolerance);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Replace coincident faces in theShape by one face
|
||||||
|
* in compliance with given list of faces
|
||||||
|
* \param theShape Initial shape.
|
||||||
|
* \param theTolerance Maximum distance between faces, which can be considered as coincident.
|
||||||
|
* \param theFaces List of faces for gluing.
|
||||||
|
* \return New GEOM_Object, containing a copy of theShape without some faces.
|
||||||
|
*/
|
||||||
|
GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape, in double theTolerance,
|
||||||
|
in ListOfGO theFaces);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Explode a shape on subshapes of a given type.
|
* Explode a shape on subshapes of a given type.
|
||||||
* \param theShape Shape to be exploded.
|
* \param theShape Shape to be exploded.
|
||||||
@ -1750,6 +1792,20 @@ module GEOM
|
|||||||
in GEOM_Object thePnt2,
|
in GEOM_Object thePnt2,
|
||||||
in GEOM_Object thePnt3);
|
in GEOM_Object thePnt3);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Create an arc of circle of center C from one point to another
|
||||||
|
* \param theCenter Center point of the arc.
|
||||||
|
* \param thePnt1 Start point of the arc.
|
||||||
|
* \param thePnt2 End point of the arc.
|
||||||
|
* \param theSense Orientation of the arc
|
||||||
|
* \return New GEOM_Object, containing the created arc.
|
||||||
|
*/
|
||||||
|
GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
|
||||||
|
in GEOM_Object thePnt1,
|
||||||
|
in GEOM_Object thePnt2,
|
||||||
|
in boolean theSense);
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Create a polyline on the set of points.
|
* Create a polyline on the set of points.
|
||||||
* \param thePoints Sequence of points for the polyline.
|
* \param thePoints Sequence of points for the polyline.
|
||||||
@ -2100,6 +2156,52 @@ module GEOM
|
|||||||
out string_array thePatterns);
|
out string_array thePatterns);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* GEOM_IKindOfShape: namespace for shape_kind enumeration.
|
||||||
|
*/
|
||||||
|
interface GEOM_IKindOfShape
|
||||||
|
{
|
||||||
|
enum shape_kind {
|
||||||
|
NO_SHAPE,
|
||||||
|
// COMPOSITEs
|
||||||
|
COMPOUND,
|
||||||
|
COMPSOLID,
|
||||||
|
SHELL,
|
||||||
|
WIRE,
|
||||||
|
// SOLIDs
|
||||||
|
SPHERE, // full sphere
|
||||||
|
CYLINDER, // cylinder
|
||||||
|
BOX, // box with faces, parallel to global coordinate planes
|
||||||
|
ROTATED_BOX, // other box
|
||||||
|
TORUS, // full torus
|
||||||
|
CONE, // cone
|
||||||
|
POLYHEDRON, // solid, bounded by polygons
|
||||||
|
SOLID, // other solid
|
||||||
|
// FACEs
|
||||||
|
SPHERE2D, // spherical face (closed)
|
||||||
|
CYLINDER2D, // cylindrical face with defined height
|
||||||
|
TORUS2D, // toroidal face (closed)
|
||||||
|
CONE2D, // conical face with defined height
|
||||||
|
DISK_CIRCLE, // planar, bounded by circle
|
||||||
|
DISK_ELLIPSE, // planar, bounded by ellipse
|
||||||
|
POLYGON, // planar, bounded by segments
|
||||||
|
PLANE, // infinite planar
|
||||||
|
PLANAR, // other planar
|
||||||
|
FACE, // other face
|
||||||
|
// EDGEs
|
||||||
|
CIRCLE, // full circle
|
||||||
|
ARC_CIRCLE, // arc of circle
|
||||||
|
ELLIPSE, // full ellipse
|
||||||
|
ARC_ELLIPSE, // arc of ellipse
|
||||||
|
LINE, // infinite segment
|
||||||
|
SEGMENT, // segment
|
||||||
|
EDGE, // other edge
|
||||||
|
// VERTEX
|
||||||
|
VERTEX
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* GEOM_IMeasureOperations: Interface for measurement (distance, whatis) and
|
* GEOM_IMeasureOperations: Interface for measurement (distance, whatis) and
|
||||||
* properties calculation (like Centre of Mass, Inertia, etc.).
|
* properties calculation (like Centre of Mass, Inertia, etc.).
|
||||||
@ -2107,6 +2209,21 @@ module GEOM
|
|||||||
*/
|
*/
|
||||||
interface GEOM_IMeasureOperations : GEOM_IOperations
|
interface GEOM_IMeasureOperations : GEOM_IOperations
|
||||||
{
|
{
|
||||||
|
/*!
|
||||||
|
* Get kind of theShape.
|
||||||
|
* \param theShape Shape to get a kind of.
|
||||||
|
* \param theIntegers Output. Integer and enumerated shape's parameters
|
||||||
|
* (kind of surface, closed/unclosed, number of edges, etc.)
|
||||||
|
* \param theDoubles Output. Double shape's parameters (coordinates, dimensions, etc.)
|
||||||
|
* \note Concrete meaning of each value, returned via \a theIntegers
|
||||||
|
* or \a theDoubles list depends on the kind of the shape.
|
||||||
|
* \return Returns a kind of shape in terms of <VAR>GEOM_IKindOfShape.shape_kind</VAR> enumeration.
|
||||||
|
*/
|
||||||
|
//short KindOfShape (in GEOM_Object theShape,
|
||||||
|
GEOM_IKindOfShape::shape_kind KindOfShape (in GEOM_Object theShape,
|
||||||
|
out ListOfLong theIntegers,
|
||||||
|
out ListOfDouble theDoubles);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Get position (LCS) of theShape.
|
* Get position (LCS) of theShape.
|
||||||
* \param theShape Shape to calculate position of.
|
* \param theShape Shape to calculate position of.
|
||||||
|
@ -177,6 +177,13 @@ module GEOM
|
|||||||
in boolean theWithContact ,
|
in boolean theWithContact ,
|
||||||
in boolean theWithCorrection );
|
in boolean theWithCorrection );
|
||||||
|
|
||||||
|
GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
|
||||||
|
in ListOfGO theSeqSubBases,
|
||||||
|
in ListOfGO theLocations,
|
||||||
|
in GEOM_Object thePath,
|
||||||
|
in boolean theWithContact ,
|
||||||
|
in boolean theWithCorrection );
|
||||||
|
|
||||||
//-----------------------------------------------------------//
|
//-----------------------------------------------------------//
|
||||||
// BooleanOperations //
|
// BooleanOperations //
|
||||||
//-----------------------------------------------------------//
|
//-----------------------------------------------------------//
|
||||||
@ -305,7 +312,12 @@ module GEOM
|
|||||||
GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
|
GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
|
||||||
GEOM_Object MakeCompound (in GEOM_List theShapes) ;
|
GEOM_Object MakeCompound (in GEOM_List theShapes) ;
|
||||||
GEOM_Object MakeGlueFaces (in GEOM_Object theShape,
|
GEOM_Object MakeGlueFaces (in GEOM_Object theShape,
|
||||||
in double theTolerance) ;
|
in double theTolerance);
|
||||||
|
GEOM_List GetGlueFaces (in GEOM_Object theShape,
|
||||||
|
in double theTolerance);
|
||||||
|
GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape,
|
||||||
|
in double theTolerance,
|
||||||
|
in ListOfGO theFaces);
|
||||||
GEOM_List MakeExplode (in GEOM_Object theShape,
|
GEOM_List MakeExplode (in GEOM_Object theShape,
|
||||||
in long theShapeType,
|
in long theShapeType,
|
||||||
in boolean isSorted) ;
|
in boolean isSorted) ;
|
||||||
@ -403,6 +415,10 @@ module GEOM
|
|||||||
GEOM_Object MakeArc (in GEOM_Object thePnt1,
|
GEOM_Object MakeArc (in GEOM_Object thePnt1,
|
||||||
in GEOM_Object thePnt2,
|
in GEOM_Object thePnt2,
|
||||||
in GEOM_Object thePnt3) ;
|
in GEOM_Object thePnt3) ;
|
||||||
|
GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
|
||||||
|
in GEOM_Object thePnt1,
|
||||||
|
in GEOM_Object thePnt2,
|
||||||
|
in boolean theSense) ;
|
||||||
GEOM_Object MakePolyline (in GEOM_List thePoints) ;
|
GEOM_Object MakePolyline (in GEOM_List thePoints) ;
|
||||||
GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
|
GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
|
||||||
GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
|
GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
|
||||||
|
@ -3857,6 +3857,42 @@
|
|||||||
<DataStream-list></DataStream-list>
|
<DataStream-list></DataStream-list>
|
||||||
</component-service>
|
</component-service>
|
||||||
<component-service>
|
<component-service>
|
||||||
|
<service-name>MakeArcCenter</service-name>
|
||||||
|
<service-author>ngr</service-author>
|
||||||
|
<service-version>3.2.6</service-version>
|
||||||
|
<service-comment>unknown</service-comment>
|
||||||
|
<service-by-default>0</service-by-default>
|
||||||
|
<inParameter-list>
|
||||||
|
<inParameter>
|
||||||
|
<inParameter-name>theCenter</inParameter-name>
|
||||||
|
<inParameter-type>GEOM_Object</inParameter-type>
|
||||||
|
<inParameter-comment>unknown</inParameter-comment>
|
||||||
|
</inParameter>
|
||||||
|
<inParameter>
|
||||||
|
<inParameter-name>thePnt1</inParameter-name>
|
||||||
|
<inParameter-type>GEOM_Object</inParameter-type>
|
||||||
|
<inParameter-comment>unknown</inParameter-comment>
|
||||||
|
</inParameter>
|
||||||
|
<inParameter>
|
||||||
|
<inParameter-name>thePnt2</inParameter-name>
|
||||||
|
<inParameter-type>GEOM_Object</inParameter-type>
|
||||||
|
<inParameter-comment>unknown</inParameter-comment>
|
||||||
|
</inParameter>
|
||||||
|
<inParameter>
|
||||||
|
<inParameter-name>theSense</inParameter-name>
|
||||||
|
<inParameter-type>boolean</inParameter-type>
|
||||||
|
<inParameter-comment>unknown</inParameter-comment>
|
||||||
|
</inParameter>
|
||||||
|
</inParameter-list>
|
||||||
|
<outParameter-list>
|
||||||
|
<outParameter>
|
||||||
|
<outParameter-name>return</outParameter-name>
|
||||||
|
<outParameter-type>GEOM_Object</outParameter-type>
|
||||||
|
<outParameter-comment>unknown</outParameter-comment>
|
||||||
|
</outParameter>
|
||||||
|
</outParameter-list>
|
||||||
|
<DataStream-list></DataStream-list>
|
||||||
|
</component-service> <component-service>
|
||||||
<service-name>MakePolyline</service-name>
|
<service-name>MakePolyline</service-name>
|
||||||
<service-author>mkr</service-author>
|
<service-author>mkr</service-author>
|
||||||
<service-version>2.1.0</service-version>
|
<service-version>2.1.0</service-version>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Import: BREP|IGES|STEP
|
Import: BREP|IGES|STEP|ACIS
|
||||||
Export: BREP|IGES|IGES_5_3|STEP
|
Export: BREP|IGES|IGES_5_3|STEP|STL_Bin|STL_ASCII|ACIS
|
||||||
|
|
||||||
BREP.Import: libBREPImport
|
BREP.Import: libBREPImport
|
||||||
BREP.Export: libBREPExport
|
BREP.Export: libBREPExport
|
||||||
@ -16,3 +16,13 @@ IGES_5_3.Pattern: IGES 5.3 Files ( *.iges *.igs )
|
|||||||
STEP.Import: libSTEPImport
|
STEP.Import: libSTEPImport
|
||||||
STEP.Export: libSTEPExport
|
STEP.Export: libSTEPExport
|
||||||
STEP.Pattern: STEP Files ( *.step *.stp )
|
STEP.Pattern: STEP Files ( *.step *.stp )
|
||||||
|
|
||||||
|
STL_Bin.Export: libSTLExport.so
|
||||||
|
STL_Bin.Pattern: STL Binary Files ( *.stl )
|
||||||
|
|
||||||
|
STL_ASCII.Export: libSTLExport.so
|
||||||
|
STL_ASCII.Pattern: STL ASCII Files ( *.stl )
|
||||||
|
|
||||||
|
ACIS.Import: libACISImport.so
|
||||||
|
ACIS.Export: libACISExport.so
|
||||||
|
ACIS.Pattern: ACIS Files ( *.sat )
|
@ -188,6 +188,8 @@ check_blocks_compound.png \
|
|||||||
free_faces.png \
|
free_faces.png \
|
||||||
propagate.png \
|
propagate.png \
|
||||||
redo.png \
|
redo.png \
|
||||||
undo.png
|
undo.png \
|
||||||
|
arccenter.png \
|
||||||
|
glue2.png
|
||||||
|
|
||||||
nodist_salomeres_DATA = GEOMCatalog.xml
|
nodist_salomeres_DATA = GEOMCatalog.xml
|
||||||
|
BIN
resources/arccenter.png
Normal file
After Width: | Height: | Size: 485 B |
BIN
resources/glue2.png
Normal file
After Width: | Height: | Size: 410 B |
@ -59,14 +59,15 @@ BasicGUI_ArcDlg::BasicGUI_ArcDlg(GeometryGUI* theGeometryGUI, QWidget* parent,
|
|||||||
WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
|
WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
|
||||||
{
|
{
|
||||||
QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ARC")));
|
QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ARC")));
|
||||||
QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT")));
|
QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ARC_CENTER")));
|
||||||
|
QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT")));
|
||||||
|
|
||||||
setCaption(tr("GEOM_ARC_TITLE"));
|
setCaption(tr("GEOM_ARC_TITLE"));
|
||||||
|
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
GroupConstructors->setTitle(tr("GEOM_ARC"));
|
GroupConstructors->setTitle(tr("GEOM_ARC"));
|
||||||
RadioButton1->setPixmap(image0);
|
RadioButton1->setPixmap(image0);
|
||||||
RadioButton2->close(TRUE);
|
RadioButton2->setPixmap(image1);
|
||||||
RadioButton3->close(TRUE);
|
RadioButton3->close(TRUE);
|
||||||
|
|
||||||
Group3Pnts = new DlgRef_3Sel_QTD(this, "Group3Pnts");
|
Group3Pnts = new DlgRef_3Sel_QTD(this, "Group3Pnts");
|
||||||
@ -79,11 +80,29 @@ BasicGUI_ArcDlg::BasicGUI_ArcDlg(GeometryGUI* theGeometryGUI, QWidget* parent,
|
|||||||
Group3Pnts->LineEdit2->setReadOnly( true );
|
Group3Pnts->LineEdit2->setReadOnly( true );
|
||||||
Group3Pnts->LineEdit3->setReadOnly( true );
|
Group3Pnts->LineEdit3->setReadOnly( true );
|
||||||
|
|
||||||
Group3Pnts->PushButton1->setPixmap(image1);
|
Group3Pnts->PushButton1->setPixmap(image2);
|
||||||
Group3Pnts->PushButton2->setPixmap(image1);
|
Group3Pnts->PushButton2->setPixmap(image2);
|
||||||
Group3Pnts->PushButton3->setPixmap(image1);
|
Group3Pnts->PushButton3->setPixmap(image2);
|
||||||
|
|
||||||
|
|
||||||
|
Group3Pnts2 = new DlgRef_3Sel1Check_QTD(this, "Group3Pnts2");
|
||||||
|
Group3Pnts2->GroupBox1->setTitle(tr("GEOM_POINTS"));
|
||||||
|
Group3Pnts2->TextLabel1->setText(tr("GEOM_CENTER_POINT"));
|
||||||
|
Group3Pnts2->TextLabel2->setText(tr("GEOM_POINT_I").arg("Start"));
|
||||||
|
Group3Pnts2->TextLabel3->setText(tr("GEOM_POINT_I").arg("End"));
|
||||||
|
|
||||||
|
Group3Pnts2->LineEdit1->setReadOnly( true );
|
||||||
|
Group3Pnts2->LineEdit2->setReadOnly( true );
|
||||||
|
Group3Pnts2->LineEdit3->setReadOnly( true );
|
||||||
|
|
||||||
|
Group3Pnts2->PushButton1->setPixmap(image2);
|
||||||
|
Group3Pnts2->PushButton2->setPixmap(image2);
|
||||||
|
Group3Pnts2->PushButton3->setPixmap(image2);
|
||||||
|
|
||||||
|
Group3Pnts2->radioButton4->setText(tr("GEOM_REVERSE"));
|
||||||
|
|
||||||
Layout1->addWidget( Group3Pnts, 2, 0 );
|
Layout1->addWidget( Group3Pnts, 2, 0 );
|
||||||
|
Layout1->addWidget( Group3Pnts2, 2, 0 );
|
||||||
|
|
||||||
setHelpFileName("arc.htm");
|
setHelpFileName("arc.htm");
|
||||||
|
|
||||||
@ -109,17 +128,21 @@ void BasicGUI_ArcDlg::Init()
|
|||||||
/* init variables */
|
/* init variables */
|
||||||
// myGeomGUI->SetState( 0 );
|
// myGeomGUI->SetState( 0 );
|
||||||
globalSelection( GEOM_POINT );
|
globalSelection( GEOM_POINT );
|
||||||
|
|
||||||
|
myConstructorId = -1;
|
||||||
myEditCurrentArgument = Group3Pnts->LineEdit1;
|
myEditCurrentArgument = Group3Pnts->LineEdit1;
|
||||||
myEditCurrentArgument->setFocus();
|
myEditCurrentArgument->setFocus();
|
||||||
|
|
||||||
myPoint1 = myPoint2 = myPoint3 = GEOM::GEOM_Object::_nil();
|
myPoint1 = myPoint2 = myPoint3 = GEOM::GEOM_Object::_nil();
|
||||||
|
Group3Pnts2->radioButton4->setChecked(FALSE);
|
||||||
|
|
||||||
/* signals and slots connections */
|
/* signals and slots connections */
|
||||||
connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel()));
|
connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel()));
|
||||||
connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog()));
|
connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog()));
|
||||||
connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel()));
|
connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel()));
|
||||||
|
|
||||||
|
connect(GroupConstructors, SIGNAL(clicked(int)), this, SLOT(ConstructorsClicked(int)));
|
||||||
|
|
||||||
connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk()));
|
connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk()));
|
||||||
connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply()));
|
connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply()));
|
||||||
|
|
||||||
@ -130,11 +153,24 @@ void BasicGUI_ArcDlg::Init()
|
|||||||
connect(Group3Pnts->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
connect(Group3Pnts->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
connect(Group3Pnts->LineEdit2, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
connect(Group3Pnts->LineEdit2, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
connect(Group3Pnts->LineEdit3, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
connect(Group3Pnts->LineEdit3, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
|
|
||||||
|
connect(Group3Pnts2->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
|
||||||
|
connect(Group3Pnts2->PushButton2, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
|
||||||
|
connect(Group3Pnts2->PushButton3, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
|
||||||
|
|
||||||
|
connect(Group3Pnts2->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
|
connect(Group3Pnts2->LineEdit2, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
|
connect(Group3Pnts2->LineEdit3, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
|
||||||
|
|
||||||
|
connect(Group3Pnts2->radioButton4, SIGNAL(stateChanged(int)), this, SLOT(ReverseSense(int)));
|
||||||
|
|
||||||
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
||||||
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
initName( tr( "GEOM_ARC" ) );
|
initName( tr( "GEOM_ARC" ));
|
||||||
|
|
||||||
|
|
||||||
|
ConstructorsClicked( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -173,8 +209,13 @@ bool BasicGUI_ArcDlg::ClickOnApply()
|
|||||||
Group3Pnts->LineEdit1->setText( "" );
|
Group3Pnts->LineEdit1->setText( "" );
|
||||||
Group3Pnts->LineEdit2->setText( "" );
|
Group3Pnts->LineEdit2->setText( "" );
|
||||||
Group3Pnts->LineEdit3->setText( "" );
|
Group3Pnts->LineEdit3->setText( "" );
|
||||||
myEditCurrentArgument = Group3Pnts->LineEdit1;
|
Group3Pnts2->LineEdit1->setText( "" );
|
||||||
|
Group3Pnts2->LineEdit2->setText( "" );
|
||||||
|
Group3Pnts2->LineEdit3->setText( "" );
|
||||||
|
if (getConstructorId() == 0) myEditCurrentArgument = Group3Pnts->LineEdit1;
|
||||||
|
if (getConstructorId() == 1) myEditCurrentArgument = Group3Pnts2->LineEdit1;
|
||||||
|
|
||||||
|
ConstructorsClicked( getConstructorId() );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,25 +226,55 @@ bool BasicGUI_ArcDlg::ClickOnApply()
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
void BasicGUI_ArcDlg::SelectionIntoArgument()
|
void BasicGUI_ArcDlg::SelectionIntoArgument()
|
||||||
{
|
{
|
||||||
myEditCurrentArgument->setText("");
|
if ((getConstructorId() != 0) && (getConstructorId() != 1))
|
||||||
|
|
||||||
if ( IObjectCount() != 1 )
|
|
||||||
{
|
|
||||||
if ( myEditCurrentArgument == Group3Pnts->LineEdit1 ) myPoint1 = GEOM::GEOM_Object::_nil();
|
|
||||||
else if ( myEditCurrentArgument == Group3Pnts->LineEdit2 ) myPoint2 = GEOM::GEOM_Object::_nil();
|
|
||||||
else if ( myEditCurrentArgument == Group3Pnts->LineEdit3 ) myPoint3 = GEOM::GEOM_Object::_nil();
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
myEditCurrentArgument->setText("");
|
||||||
|
if ( IObjectCount() != 1 ){
|
||||||
|
switch (getConstructorId())
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
if ( myEditCurrentArgument == Group3Pnts->LineEdit1 ) myPoint1 = GEOM::GEOM_Object::_nil();
|
||||||
|
else if ( myEditCurrentArgument == Group3Pnts->LineEdit2 ) myPoint2 = GEOM::GEOM_Object::_nil();
|
||||||
|
else if ( myEditCurrentArgument == Group3Pnts->LineEdit3 ) myPoint3 = GEOM::GEOM_Object::_nil();
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
if ( myEditCurrentArgument == Group3Pnts2->LineEdit1 ) myPoint1 = GEOM::GEOM_Object::_nil();
|
||||||
|
else if ( myEditCurrentArgument == Group3Pnts2->LineEdit2 ) myPoint2 = GEOM::GEOM_Object::_nil();
|
||||||
|
else if ( myEditCurrentArgument == Group3Pnts2->LineEdit3 ) myPoint3 = GEOM::GEOM_Object::_nil();
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// nbSel == 1
|
// nbSel == 1
|
||||||
Standard_Boolean aRes = Standard_False;
|
Standard_Boolean aRes = Standard_False;
|
||||||
GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject( firstIObject(), aRes );
|
GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject( firstIObject(), aRes );
|
||||||
if ( !CORBA::is_nil( aSelectedObject ) && aRes )
|
if ( !CORBA::is_nil( aSelectedObject ) && aRes )
|
||||||
{
|
{
|
||||||
myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) );
|
switch (getConstructorId())
|
||||||
if ( myEditCurrentArgument == Group3Pnts->LineEdit1 ) myPoint1 = aSelectedObject;
|
{
|
||||||
else if ( myEditCurrentArgument == Group3Pnts->LineEdit2 ) myPoint2 = aSelectedObject;
|
case 0:
|
||||||
else if ( myEditCurrentArgument == Group3Pnts->LineEdit3 ) myPoint3 = aSelectedObject;
|
{
|
||||||
|
myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) );
|
||||||
|
if ( myEditCurrentArgument == Group3Pnts->LineEdit1 ) myPoint1 = aSelectedObject;
|
||||||
|
else if ( myEditCurrentArgument == Group3Pnts->LineEdit2 ) myPoint2 = aSelectedObject;
|
||||||
|
else if ( myEditCurrentArgument == Group3Pnts->LineEdit3 ) myPoint3 = aSelectedObject;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) );
|
||||||
|
if ( myEditCurrentArgument == Group3Pnts2->LineEdit1 ) myPoint1 = aSelectedObject;
|
||||||
|
else if ( myEditCurrentArgument == Group3Pnts2->LineEdit2 ) myPoint2 = aSelectedObject;
|
||||||
|
else if ( myEditCurrentArgument == Group3Pnts2->LineEdit3 ) myPoint3 = aSelectedObject;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
displayPreview();
|
displayPreview();
|
||||||
@ -217,11 +288,23 @@ void BasicGUI_ArcDlg::SelectionIntoArgument()
|
|||||||
void BasicGUI_ArcDlg::SetEditCurrentArgument()
|
void BasicGUI_ArcDlg::SetEditCurrentArgument()
|
||||||
{
|
{
|
||||||
QPushButton* send = (QPushButton*)sender();
|
QPushButton* send = (QPushButton*)sender();
|
||||||
|
switch (getConstructorId())
|
||||||
if ( send == Group3Pnts->PushButton1 ) myEditCurrentArgument = Group3Pnts->LineEdit1;
|
{
|
||||||
else if ( send == Group3Pnts->PushButton2 ) myEditCurrentArgument = Group3Pnts->LineEdit2;
|
case 0:
|
||||||
else if ( send == Group3Pnts->PushButton3 ) myEditCurrentArgument = Group3Pnts->LineEdit3;
|
{
|
||||||
|
if ( send == Group3Pnts->PushButton1 ) myEditCurrentArgument = Group3Pnts->LineEdit1;
|
||||||
|
else if ( send == Group3Pnts->PushButton2 ) myEditCurrentArgument = Group3Pnts->LineEdit2;
|
||||||
|
else if ( send == Group3Pnts->PushButton3 ) myEditCurrentArgument = Group3Pnts->LineEdit3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
if ( send == Group3Pnts2->PushButton1 ) myEditCurrentArgument = Group3Pnts2->LineEdit1;
|
||||||
|
else if ( send == Group3Pnts2->PushButton2 ) myEditCurrentArgument = Group3Pnts2->LineEdit2;
|
||||||
|
else if ( send == Group3Pnts2->PushButton3 ) myEditCurrentArgument = Group3Pnts2->LineEdit3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
myEditCurrentArgument->setFocus();
|
myEditCurrentArgument->setFocus();
|
||||||
SelectionIntoArgument();
|
SelectionIntoArgument();
|
||||||
}
|
}
|
||||||
@ -234,9 +317,8 @@ void BasicGUI_ArcDlg::SetEditCurrentArgument()
|
|||||||
void BasicGUI_ArcDlg::LineEditReturnPressed()
|
void BasicGUI_ArcDlg::LineEditReturnPressed()
|
||||||
{
|
{
|
||||||
QLineEdit* send = (QLineEdit*)sender();
|
QLineEdit* send = (QLineEdit*)sender();
|
||||||
if ( send == Group3Pnts->LineEdit1 ||
|
if ( send == Group3Pnts->LineEdit1 || send == Group3Pnts->LineEdit2 || send == Group3Pnts->LineEdit3 ||
|
||||||
send == Group3Pnts->LineEdit2 ||
|
send == Group3Pnts2->LineEdit1 || send == Group3Pnts2->LineEdit2 || send == Group3Pnts2->LineEdit3 )
|
||||||
send == Group3Pnts->LineEdit3 )
|
|
||||||
{
|
{
|
||||||
myEditCurrentArgument = send;
|
myEditCurrentArgument = send;
|
||||||
GEOMBase_Skeleton::LineEditReturnPressed();
|
GEOMBase_Skeleton::LineEditReturnPressed();
|
||||||
@ -264,6 +346,9 @@ void BasicGUI_ArcDlg::ActivateThisDialog()
|
|||||||
Group3Pnts->LineEdit2->setText( "" );
|
Group3Pnts->LineEdit2->setText( "" );
|
||||||
Group3Pnts->LineEdit3->setText( "" );
|
Group3Pnts->LineEdit3->setText( "" );
|
||||||
myPoint1 = myPoint2 = myPoint3 = GEOM::GEOM_Object::_nil();
|
myPoint1 = myPoint2 = myPoint3 = GEOM::GEOM_Object::_nil();
|
||||||
|
|
||||||
|
ConstructorsClicked( getConstructorId() );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -320,11 +405,34 @@ bool BasicGUI_ArcDlg::isValid( QString& msg )
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool BasicGUI_ArcDlg::execute( ObjectList& objects )
|
bool BasicGUI_ArcDlg::execute( ObjectList& objects )
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var anObj =
|
bool res = false;
|
||||||
GEOM::GEOM_ICurvesOperations::_narrow(getOperation())->MakeArc(myPoint1, myPoint2, myPoint3);
|
GEOM::GEOM_Object_var anObj;
|
||||||
if ( !anObj->_is_nil() )
|
|
||||||
|
switch (getConstructorId())
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
if ( !CORBA::is_nil(myPoint1) && !CORBA::is_nil(myPoint2) &&!CORBA::is_nil(myPoint3) ){
|
||||||
|
anObj = GEOM::GEOM_ICurvesOperations::_narrow(getOperation())->MakeArc(myPoint1, myPoint2, myPoint3);
|
||||||
|
res = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
bool Sense;
|
||||||
|
(Group3Pnts2->radioButton4->isChecked()) ? Sense=true : Sense = false;
|
||||||
|
if ( !CORBA::is_nil(myPoint1) && !CORBA::is_nil(myPoint2) &&!CORBA::is_nil(myPoint3) ){
|
||||||
|
anObj = GEOM::GEOM_ICurvesOperations::_narrow(getOperation())->MakeArcCenter(myPoint1, myPoint2, myPoint3,Sense);
|
||||||
|
res = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( !anObj->_is_nil() ){
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
return true;
|
}
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -335,3 +443,45 @@ void BasicGUI_ArcDlg::closeEvent( QCloseEvent* e )
|
|||||||
{
|
{
|
||||||
GEOMBase_Skeleton::closeEvent( e );
|
GEOMBase_Skeleton::closeEvent( e );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : ConstructorsClicked()
|
||||||
|
// purpose : Radio button management
|
||||||
|
//=================================================================================
|
||||||
|
void BasicGUI_ArcDlg::ConstructorsClicked( int constructorId )
|
||||||
|
{
|
||||||
|
|
||||||
|
disconnect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0);
|
||||||
|
|
||||||
|
switch (constructorId)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
Group3Pnts->show();
|
||||||
|
resize(0, 0);
|
||||||
|
Group3Pnts2->hide();
|
||||||
|
|
||||||
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
Group3Pnts->hide();
|
||||||
|
resize(0, 0);
|
||||||
|
Group3Pnts2->show();
|
||||||
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
displayPreview();
|
||||||
|
}
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : ReverseSense()
|
||||||
|
// purpose : Orientation of the arc
|
||||||
|
//=================================================================================
|
||||||
|
void BasicGUI_ArcDlg::ReverseSense(int sense)
|
||||||
|
{
|
||||||
|
displayPreview();
|
||||||
|
}
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
#include "GEOMBase_Skeleton.h"
|
#include "GEOMBase_Skeleton.h"
|
||||||
#include "DlgRef_3Sel_QTD.h"
|
#include "DlgRef_3Sel_QTD.h"
|
||||||
|
#include "DlgRef_3Sel1Check_QTD.h"
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// class : BasicGUI_ArcDlg
|
// class : BasicGUI_ArcDlg
|
||||||
@ -57,10 +58,11 @@ protected:
|
|||||||
private :
|
private :
|
||||||
void Init();
|
void Init();
|
||||||
void enterEvent(QEvent* e);
|
void enterEvent(QEvent* e);
|
||||||
|
int myConstructorId;
|
||||||
GEOM::GEOM_Object_var myPoint1, myPoint2, myPoint3;
|
GEOM::GEOM_Object_var myPoint1, myPoint2, myPoint3;
|
||||||
|
|
||||||
DlgRef_3Sel_QTD* Group3Pnts;
|
DlgRef_3Sel_QTD* Group3Pnts;
|
||||||
|
DlgRef_3Sel1Check_QTD* Group3Pnts2;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void ClickOnOk();
|
void ClickOnOk();
|
||||||
@ -69,11 +71,11 @@ private slots:
|
|||||||
|
|
||||||
void ActivateThisDialog();
|
void ActivateThisDialog();
|
||||||
void DeactivateActiveDialog();
|
void DeactivateActiveDialog();
|
||||||
|
void ConstructorsClicked( int );
|
||||||
void LineEditReturnPressed();
|
void LineEditReturnPressed();
|
||||||
void SelectionIntoArgument();
|
void SelectionIntoArgument();
|
||||||
void SetEditCurrentArgument();
|
void SetEditCurrentArgument();
|
||||||
|
void ReverseSense(int);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DIALOGBOX_ARC_H
|
#endif // DIALOGBOX_ARC_H
|
||||||
|
@ -102,6 +102,16 @@ BasicGUI_WorkingPlaneDlg::BasicGUI_WorkingPlaneDlg(GeometryGUI* theGeometryGUI,
|
|||||||
Layout1->addWidget(Group2, 1, 0);
|
Layout1->addWidget(Group2, 1, 0);
|
||||||
Layout1->addWidget(Group3, 1, 0);
|
Layout1->addWidget(Group3, 1, 0);
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
|
QGroupBox* aReverseGroupBox = new QGroupBox(this, "aReverseGroupBox");
|
||||||
|
aReverseGroupBox->setTitle(tr(""));
|
||||||
|
aReverseGroupBox->setColumnLayout(1, Qt::Horizontal);
|
||||||
|
aReverseGroupBox->setInsideMargin(10);
|
||||||
|
|
||||||
|
myReverseCB = new QCheckBox(aReverseGroupBox, "myReverseCB");
|
||||||
|
myReverseCB->setText(tr("GEOM_REVERSE_PLANE"));
|
||||||
|
|
||||||
|
Layout1->addWidget(aReverseGroupBox, 2, 0);
|
||||||
|
|
||||||
|
|
||||||
setHelpFileName("working_plane.htm");
|
setHelpFileName("working_plane.htm");
|
||||||
|
|
||||||
@ -156,6 +166,8 @@ void BasicGUI_WorkingPlaneDlg::Init()
|
|||||||
|
|
||||||
connect(Group3->GroupBox1, SIGNAL(clicked(int)), this, SLOT(GroupClicked(int)));
|
connect(Group3->GroupBox1, SIGNAL(clicked(int)), this, SLOT(GroupClicked(int)));
|
||||||
|
|
||||||
|
connect(myReverseCB, SIGNAL(clicked()), this, SLOT(onReverse()));
|
||||||
|
|
||||||
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
|
||||||
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
|
||||||
|
|
||||||
@ -225,7 +237,8 @@ void BasicGUI_WorkingPlaneDlg::ConstructorsClicked(int constructorId)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
displayPreview();
|
|
||||||
|
updateWPlane();
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -235,6 +248,7 @@ void BasicGUI_WorkingPlaneDlg::ConstructorsClicked(int constructorId)
|
|||||||
void BasicGUI_WorkingPlaneDlg::GroupClicked(int groupId)
|
void BasicGUI_WorkingPlaneDlg::GroupClicked(int groupId)
|
||||||
{
|
{
|
||||||
aOriginType = groupId;
|
aOriginType = groupId;
|
||||||
|
updateWPlane();
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -255,99 +269,12 @@ bool BasicGUI_WorkingPlaneDlg::ClickOnApply()
|
|||||||
{
|
{
|
||||||
buttonApply->setFocus();
|
buttonApply->setFocus();
|
||||||
myGeomGUI->application()->putInfo(tr(""));
|
myGeomGUI->application()->putInfo(tr(""));
|
||||||
const int id = getConstructorId();
|
|
||||||
|
if (updateWPlane(false)){
|
||||||
if (id == 0) { // by planar face selection
|
myGeomGUI->SetWorkingPlane(myWPlane);
|
||||||
if (CORBA::is_nil(myFace)) {
|
myGeomGUI->ActiveWorkingPlane();
|
||||||
showError( "Face has to be selected" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// PAL12781: set center of WPL to face's center of mass
|
|
||||||
// like it is done for LCS creation
|
|
||||||
CORBA::Double Ox,Oy,Oz, Zx,Zy,Zz, Xx,Xy,Xz;
|
|
||||||
Ox = Oy = Oz = Zx = Zy = Xy = Xz = 0.;
|
|
||||||
Zz = Xx = 1.;
|
|
||||||
|
|
||||||
GEOM::GEOM_IMeasureOperations_ptr aMeasureOp =
|
|
||||||
myGeomGUI->GetGeomGen()->GetIMeasureOperations(getStudyId());
|
|
||||||
aMeasureOp->GetPosition(myFace, Ox,Oy,Oz, Zx,Zy,Zz, Xx,Xy,Xz);
|
|
||||||
|
|
||||||
if (aMeasureOp->IsDone()) {
|
|
||||||
gp_Pnt aPnt (Ox,Oy,Oz);
|
|
||||||
gp_Dir aDirN (Zx,Zy,Zz);
|
|
||||||
gp_Dir aDirX (Xx,Xy,Xz);
|
|
||||||
myWPlane = gp_Ax3(aPnt, aDirN, aDirX);
|
|
||||||
} else {
|
|
||||||
showError( "Wrong shape selected (has to be a planar face)" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (id == 1) { // by two vectors (Ox & Oz)
|
|
||||||
if ( CORBA::is_nil( myVectX ) || CORBA::is_nil( myVectZ ) ) {
|
|
||||||
showError( "Two vectors have to be selected" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
TopoDS_Edge aVectX, aVectZ;
|
|
||||||
TopoDS_Vertex VX1, VX2, VZ1, VZ2;
|
|
||||||
gp_Vec aVX, aVZ;
|
|
||||||
|
|
||||||
if (!GEOMBase::GetShape( myVectX, aVectX, TopAbs_EDGE ) ||
|
|
||||||
!GEOMBase::GetShape( myVectZ, aVectZ, TopAbs_EDGE )) {
|
|
||||||
showError( "Wrong shape selected (two vectors(edges) have to be selected)" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
TopExp::Vertices(aVectX, VX1, VX2, Standard_True);
|
|
||||||
TopExp::Vertices(aVectZ, VZ1, VZ2, Standard_True);
|
|
||||||
|
|
||||||
if (VX1.IsNull() || VX2.IsNull()) {
|
|
||||||
showError( "Bad OX vector" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (VZ1.IsNull() || VZ2.IsNull()) {
|
|
||||||
showError( "Bad OZ vector" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
aVX = gp_Vec(BRep_Tool::Pnt(VX1), BRep_Tool::Pnt(VX2));
|
|
||||||
aVZ = gp_Vec(BRep_Tool::Pnt(VZ1), BRep_Tool::Pnt(VZ2));
|
|
||||||
|
|
||||||
if (aVX.Magnitude() < Precision::Confusion()) {
|
|
||||||
showError( "Bad OX vector" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (aVZ.Magnitude() < Precision::Confusion()) {
|
|
||||||
showError( "Bad OZ vector" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
gp_Dir aDirX = gp_Dir(aVX.X(), aVX.Y(), aVX.Z());
|
|
||||||
gp_Dir aDirZ = gp_Dir(aVZ.X(), aVZ.Y(), aVZ.Z());
|
|
||||||
|
|
||||||
if (aDirX.IsParallel(aDirZ, Precision::Angular())) {
|
|
||||||
showError( "Parallel vectors selected" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
myWPlane = gp_Ax3(BRep_Tool::Pnt(VX1), aDirZ, aDirX);
|
|
||||||
|
|
||||||
} else if (id == 2) { // by selection from standard (OXY or OYZ, or OZX)
|
|
||||||
gp_Ax2 anAx2;
|
|
||||||
|
|
||||||
if (aOriginType == 1) anAx2 = gp::XOY();
|
|
||||||
else if (aOriginType == 2) anAx2 = gp::YOZ();
|
|
||||||
else if (aOriginType == 0) anAx2 = gp::ZOX();
|
|
||||||
|
|
||||||
myWPlane = gp_Ax3(anAx2);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
myGeomGUI->SetWorkingPlane(myWPlane);
|
|
||||||
myGeomGUI->ActiveWorkingPlane();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -387,6 +314,8 @@ void BasicGUI_WorkingPlaneDlg::SelectionIntoArgument()
|
|||||||
myVectZ = aSelectedObject;
|
myVectZ = aSelectedObject;
|
||||||
|
|
||||||
myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) );
|
myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) );
|
||||||
|
|
||||||
|
updateWPlane();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -430,6 +359,16 @@ void BasicGUI_WorkingPlaneDlg::LineEditReturnPressed()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : onReverse()
|
||||||
|
// purpose :
|
||||||
|
//=================================================================================
|
||||||
|
void BasicGUI_WorkingPlaneDlg::onReverse()
|
||||||
|
{
|
||||||
|
updateWPlane();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : ActivateThisDialog()
|
// function : ActivateThisDialog()
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -481,3 +420,130 @@ void BasicGUI_WorkingPlaneDlg::closeEvent( QCloseEvent* e )
|
|||||||
{
|
{
|
||||||
GEOMBase_Skeleton::closeEvent( e );
|
GEOMBase_Skeleton::closeEvent( e );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : updateWPlane
|
||||||
|
// purpose :
|
||||||
|
//=================================================================================
|
||||||
|
bool BasicGUI_WorkingPlaneDlg::updateWPlane( const bool showPreview )
|
||||||
|
{
|
||||||
|
erasePreview();
|
||||||
|
|
||||||
|
const int id = getConstructorId();
|
||||||
|
|
||||||
|
if (id == 0) { // by planar face selection
|
||||||
|
if (CORBA::is_nil(myFace)) {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Face has to be selected" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// PAL12781: set center of WPL to face's center of mass
|
||||||
|
// like it is done for LCS creation
|
||||||
|
CORBA::Double Ox,Oy,Oz, Zx,Zy,Zz, Xx,Xy,Xz;
|
||||||
|
Ox = Oy = Oz = Zx = Zy = Xy = Xz = 0.;
|
||||||
|
Zz = Xx = 1.;
|
||||||
|
|
||||||
|
GEOM::GEOM_IMeasureOperations_ptr aMeasureOp =
|
||||||
|
myGeomGUI->GetGeomGen()->GetIMeasureOperations(getStudyId());
|
||||||
|
aMeasureOp->GetPosition(myFace, Ox,Oy,Oz, Zx,Zy,Zz, Xx,Xy,Xz);
|
||||||
|
|
||||||
|
if (aMeasureOp->IsDone()) {
|
||||||
|
gp_Pnt aPnt (Ox,Oy,Oz);
|
||||||
|
gp_Dir aDirN (Zx,Zy,Zz);
|
||||||
|
gp_Dir aDirX (Xx,Xy,Xz);
|
||||||
|
myWPlane = gp_Ax3(aPnt, aDirN, aDirX);
|
||||||
|
} else {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Wrong shape selected (has to be a planar face)" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (id == 1) { // by two vectors (Ox & Oz)
|
||||||
|
if ( CORBA::is_nil( myVectX ) || CORBA::is_nil( myVectZ ) ) {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Two vectors have to be selected" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
TopoDS_Edge aVectX, aVectZ;
|
||||||
|
TopoDS_Vertex VX1, VX2, VZ1, VZ2;
|
||||||
|
gp_Vec aVX, aVZ;
|
||||||
|
|
||||||
|
if (!GEOMBase::GetShape( myVectX, aVectX, TopAbs_EDGE ) ||
|
||||||
|
!GEOMBase::GetShape( myVectZ, aVectZ, TopAbs_EDGE )) {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Wrong shape selected (two vectors(edges) have to be selected)" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
TopExp::Vertices(aVectX, VX1, VX2, Standard_True);
|
||||||
|
TopExp::Vertices(aVectZ, VZ1, VZ2, Standard_True);
|
||||||
|
|
||||||
|
if (VX1.IsNull() || VX2.IsNull()) {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Bad OX vector" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (VZ1.IsNull() || VZ2.IsNull()) {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Bad OZ vector" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
aVX = gp_Vec(BRep_Tool::Pnt(VX1), BRep_Tool::Pnt(VX2));
|
||||||
|
aVZ = gp_Vec(BRep_Tool::Pnt(VZ1), BRep_Tool::Pnt(VZ2));
|
||||||
|
|
||||||
|
if (aVX.Magnitude() < Precision::Confusion()) {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Bad OX vector" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (aVZ.Magnitude() < Precision::Confusion()) {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Bad OZ vector" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
gp_Dir aDirX = gp_Dir(aVX.X(), aVX.Y(), aVX.Z());
|
||||||
|
gp_Dir aDirZ = gp_Dir(aVZ.X(), aVZ.Y(), aVZ.Z());
|
||||||
|
|
||||||
|
if (aDirX.IsParallel(aDirZ, Precision::Angular())) {
|
||||||
|
if(!showPreview)
|
||||||
|
showError( "Parallel vectors selected" );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
myWPlane = gp_Ax3(BRep_Tool::Pnt(VX1), aDirZ, aDirX);
|
||||||
|
|
||||||
|
} else if (id == 2) { // by selection from standard (OXY or OYZ, or OZX)
|
||||||
|
gp_Ax2 anAx2;
|
||||||
|
|
||||||
|
if (aOriginType == 1) anAx2 = gp::XOY();
|
||||||
|
else if (aOriginType == 2) anAx2 = gp::YOZ();
|
||||||
|
else if (aOriginType == 0) anAx2 = gp::ZOX();
|
||||||
|
|
||||||
|
myWPlane = gp_Ax3(anAx2);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (myReverseCB->isChecked())
|
||||||
|
{
|
||||||
|
myWPlane.YReverse();
|
||||||
|
myWPlane.ZReverse();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (showPreview)
|
||||||
|
{
|
||||||
|
GEOM::GEOM_IBasicOperations_var aBasicOp = getGeomEngine()->GetIBasicOperations( getStudyId() );
|
||||||
|
GEOM::GEOM_Object_var anObj = aBasicOp->MakeMarker( myWPlane.Location().X(), myWPlane.Location().Y(), myWPlane.Location().Z(),
|
||||||
|
myWPlane.XDirection().X(), myWPlane.XDirection().Y(), myWPlane.XDirection().Z(),
|
||||||
|
myWPlane.YDirection().X(), myWPlane.YDirection().Y(), myWPlane.YDirection().Z() );
|
||||||
|
displayPreview(anObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@ -35,6 +35,8 @@
|
|||||||
#include "DlgRef_2Sel_QTD.h"
|
#include "DlgRef_2Sel_QTD.h"
|
||||||
#include "DlgRef_3Check_QTD.h"
|
#include "DlgRef_3Check_QTD.h"
|
||||||
|
|
||||||
|
class QCheckBox;
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// class : BasicGUI_WorkingPlaneDlg
|
// class : BasicGUI_WorkingPlaneDlg
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -53,6 +55,8 @@ private:
|
|||||||
void Init();
|
void Init();
|
||||||
void enterEvent(QEvent* e);
|
void enterEvent(QEvent* e);
|
||||||
|
|
||||||
|
bool updateWPlane(const bool showPreview = true);
|
||||||
|
|
||||||
GEOM::GEOM_Object_var myFace;
|
GEOM::GEOM_Object_var myFace;
|
||||||
GEOM::GEOM_Object_var myVectX;
|
GEOM::GEOM_Object_var myVectX;
|
||||||
GEOM::GEOM_Object_var myVectZ;
|
GEOM::GEOM_Object_var myVectZ;
|
||||||
@ -63,6 +67,8 @@ private:
|
|||||||
DlgRef_2Sel_QTD* Group2;
|
DlgRef_2Sel_QTD* Group2;
|
||||||
DlgRef_3Check_QTD* Group3;
|
DlgRef_3Check_QTD* Group3;
|
||||||
|
|
||||||
|
QCheckBox* myReverseCB;
|
||||||
|
|
||||||
gp_Ax3 myWPlane;
|
gp_Ax3 myWPlane;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
@ -75,6 +81,7 @@ private slots:
|
|||||||
void SetEditCurrentArgument();
|
void SetEditCurrentArgument();
|
||||||
void SelectionIntoArgument();
|
void SelectionIntoArgument();
|
||||||
void LineEditReturnPressed();
|
void LineEditReturnPressed();
|
||||||
|
void onReverse();
|
||||||
|
|
||||||
void ActivateThisDialog();
|
void ActivateThisDialog();
|
||||||
void DeactivateActiveDialog();
|
void DeactivateActiveDialog();
|
||||||
|
127
src/DlgRef/DlgRef_3Sel1Check_QTD.cxx
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
** Form implementation generated from reading ui file 'UIFiles/DlgRef_3Sel1Check_QTD.ui'
|
||||||
|
**
|
||||||
|
** Created: Wed Feb 21 10:49:18 2007
|
||||||
|
** by: The User Interface Compiler ($Id$)
|
||||||
|
**
|
||||||
|
** WARNING! All changes made in this file will be lost!
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include "DlgRef_3Sel1Check_QTD.h"
|
||||||
|
|
||||||
|
#include <qvariant.h>
|
||||||
|
#include <qpushbutton.h>
|
||||||
|
#include <qgroupbox.h>
|
||||||
|
#include <qlineedit.h>
|
||||||
|
#include <qlabel.h>
|
||||||
|
#include <qradiobutton.h>
|
||||||
|
#include <qlayout.h>
|
||||||
|
#include <qtooltip.h>
|
||||||
|
#include <qwhatsthis.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Constructs a DlgRef_3Sel1Check_QTD as a child of 'parent', with the
|
||||||
|
* name 'name' and widget flags set to 'f'.
|
||||||
|
*/
|
||||||
|
DlgRef_3Sel1Check_QTD::DlgRef_3Sel1Check_QTD( QWidget* parent, const char* name, WFlags fl )
|
||||||
|
: QWidget( parent, name, fl )
|
||||||
|
{
|
||||||
|
if ( !name )
|
||||||
|
setName( "DlgRef_3Sel1Check_QTD" );
|
||||||
|
setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 0, 0, sizePolicy().hasHeightForWidth() ) );
|
||||||
|
DlgRef_3Sel1Check_QTDLayout = new QGridLayout( this, 1, 1, 0, 6, "DlgRef_3Sel1Check_QTDLayout");
|
||||||
|
|
||||||
|
GroupBox1 = new QGroupBox( this, "GroupBox1" );
|
||||||
|
GroupBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 0, 0, GroupBox1->sizePolicy().hasHeightForWidth() ) );
|
||||||
|
GroupBox1->setColumnLayout(0, Qt::Vertical );
|
||||||
|
GroupBox1->layout()->setSpacing( 6 );
|
||||||
|
GroupBox1->layout()->setMargin( 11 );
|
||||||
|
GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
|
||||||
|
GroupBox1Layout->setAlignment( Qt::AlignTop );
|
||||||
|
|
||||||
|
PushButton1 = new QPushButton( GroupBox1, "PushButton1" );
|
||||||
|
PushButton1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton1->sizePolicy().hasHeightForWidth() ) );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( PushButton1, 0, 1 );
|
||||||
|
|
||||||
|
LineEdit1 = new QLineEdit( GroupBox1, "LineEdit1" );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( LineEdit1, 0, 2 );
|
||||||
|
|
||||||
|
TextLabel1 = new QLabel( GroupBox1, "TextLabel1" );
|
||||||
|
TextLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel1->sizePolicy().hasHeightForWidth() ) );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( TextLabel1, 0, 0 );
|
||||||
|
|
||||||
|
PushButton2 = new QPushButton( GroupBox1, "PushButton2" );
|
||||||
|
PushButton2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton2->sizePolicy().hasHeightForWidth() ) );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( PushButton2, 1, 1 );
|
||||||
|
|
||||||
|
LineEdit2 = new QLineEdit( GroupBox1, "LineEdit2" );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( LineEdit2, 1, 2 );
|
||||||
|
|
||||||
|
TextLabel2 = new QLabel( GroupBox1, "TextLabel2" );
|
||||||
|
TextLabel2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel2->sizePolicy().hasHeightForWidth() ) );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( TextLabel2, 1, 0 );
|
||||||
|
|
||||||
|
PushButton3 = new QPushButton( GroupBox1, "PushButton3" );
|
||||||
|
PushButton3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton3->sizePolicy().hasHeightForWidth() ) );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( PushButton3, 2, 1 );
|
||||||
|
|
||||||
|
LineEdit3 = new QLineEdit( GroupBox1, "LineEdit3" );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( LineEdit3, 2, 2 );
|
||||||
|
|
||||||
|
TextLabel3 = new QLabel( GroupBox1, "TextLabel3" );
|
||||||
|
TextLabel3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel3->sizePolicy().hasHeightForWidth() ) );
|
||||||
|
|
||||||
|
GroupBox1Layout->addWidget( TextLabel3, 2, 0 );
|
||||||
|
|
||||||
|
radioButton4 = new QRadioButton( GroupBox1, "radioButton4" );
|
||||||
|
|
||||||
|
GroupBox1Layout->addMultiCellWidget( radioButton4, 3, 3, 0, 1 );
|
||||||
|
Spacer3 = new QSpacerItem( 16, 721, QSizePolicy::Minimum, QSizePolicy::Expanding );
|
||||||
|
GroupBox1Layout->addItem( Spacer3, 4, 2 );
|
||||||
|
|
||||||
|
DlgRef_3Sel1Check_QTDLayout->addWidget( GroupBox1, 0, 0 );
|
||||||
|
languageChange();
|
||||||
|
resize( QSize(490, 878).expandedTo(minimumSizeHint()) );
|
||||||
|
clearWState( WState_Polished );
|
||||||
|
|
||||||
|
// tab order
|
||||||
|
setTabOrder( PushButton1, LineEdit1 );
|
||||||
|
setTabOrder( LineEdit1, PushButton2 );
|
||||||
|
setTabOrder( PushButton2, LineEdit2 );
|
||||||
|
setTabOrder( LineEdit2, PushButton3 );
|
||||||
|
setTabOrder( PushButton3, LineEdit3 );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Destroys the object and frees any allocated resources
|
||||||
|
*/
|
||||||
|
DlgRef_3Sel1Check_QTD::~DlgRef_3Sel1Check_QTD()
|
||||||
|
{
|
||||||
|
// no need to delete child widgets, Qt does it all for us
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sets the strings of the subwidgets using the current
|
||||||
|
* language.
|
||||||
|
*/
|
||||||
|
void DlgRef_3Sel1Check_QTD::languageChange()
|
||||||
|
{
|
||||||
|
setCaption( tr( "DlgRef_3Sel3Spin1Check_QTD" ) );
|
||||||
|
GroupBox1->setTitle( QString::null );
|
||||||
|
PushButton1->setText( QString::null );
|
||||||
|
TextLabel1->setText( tr( "TL1" ) );
|
||||||
|
PushButton2->setText( QString::null );
|
||||||
|
TextLabel2->setText( tr( "TL2" ) );
|
||||||
|
PushButton3->setText( QString::null );
|
||||||
|
TextLabel3->setText( tr( "TL3" ) );
|
||||||
|
radioButton4->setText( tr( "radioButton4" ) );
|
||||||
|
}
|
||||||
|
|
56
src/DlgRef/DlgRef_3Sel1Check_QTD.h
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
** Form interface generated from reading ui file 'UIFiles/DlgRef_3Sel1Check_QTD.ui'
|
||||||
|
**
|
||||||
|
** Created: Wed Feb 21 10:48:39 2007
|
||||||
|
** by: The User Interface Compiler ($Id$)
|
||||||
|
**
|
||||||
|
** WARNING! All changes made in this file will be lost!
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef DLGREF_3SEL1CHECK_QTD_H
|
||||||
|
#define DLGREF_3SEL1CHECK_QTD_H
|
||||||
|
|
||||||
|
#include <qvariant.h>
|
||||||
|
#include <qwidget.h>
|
||||||
|
|
||||||
|
class QVBoxLayout;
|
||||||
|
class QHBoxLayout;
|
||||||
|
class QGridLayout;
|
||||||
|
class QSpacerItem;
|
||||||
|
class QGroupBox;
|
||||||
|
class QPushButton;
|
||||||
|
class QLineEdit;
|
||||||
|
class QLabel;
|
||||||
|
class QRadioButton;
|
||||||
|
|
||||||
|
class DlgRef_3Sel1Check_QTD : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
DlgRef_3Sel1Check_QTD( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||||
|
~DlgRef_3Sel1Check_QTD();
|
||||||
|
|
||||||
|
QGroupBox* GroupBox1;
|
||||||
|
QPushButton* PushButton1;
|
||||||
|
QLineEdit* LineEdit1;
|
||||||
|
QLabel* TextLabel1;
|
||||||
|
QPushButton* PushButton2;
|
||||||
|
QLineEdit* LineEdit2;
|
||||||
|
QLabel* TextLabel2;
|
||||||
|
QPushButton* PushButton3;
|
||||||
|
QLineEdit* LineEdit3;
|
||||||
|
QLabel* TextLabel3;
|
||||||
|
QRadioButton* radioButton4;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QGridLayout* DlgRef_3Sel1Check_QTDLayout;
|
||||||
|
QGridLayout* GroupBox1Layout;
|
||||||
|
QSpacerItem* Spacer3;
|
||||||
|
|
||||||
|
protected slots:
|
||||||
|
virtual void languageChange();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // DLGREF_3SEL1CHECK_QTD_H
|
@ -86,7 +86,8 @@ dist_libDlgRef_la_SOURCES = \
|
|||||||
DlgRef_3Sel1Spin.cxx \
|
DlgRef_3Sel1Spin.cxx \
|
||||||
DlgRef_3Check_QTD.cxx \
|
DlgRef_3Check_QTD.cxx \
|
||||||
DlgRef_6Sel_QTD.cxx \
|
DlgRef_6Sel_QTD.cxx \
|
||||||
DlgRef_4Sel1Spin2Check.cxx
|
DlgRef_4Sel1Spin2Check.cxx \
|
||||||
|
DlgRef_3Sel1Check_QTD.cxx
|
||||||
|
|
||||||
MOC_FILES = \
|
MOC_FILES = \
|
||||||
DlgRef_Skeleton_QTD_moc.cxx \
|
DlgRef_Skeleton_QTD_moc.cxx \
|
||||||
@ -142,7 +143,8 @@ MOC_FILES = \
|
|||||||
DlgRef_1Sel_Ext_moc.cxx \
|
DlgRef_1Sel_Ext_moc.cxx \
|
||||||
DlgRef_3Check_QTD_moc.cxx \
|
DlgRef_3Check_QTD_moc.cxx \
|
||||||
DlgRef_6Sel_QTD_moc.cxx \
|
DlgRef_6Sel_QTD_moc.cxx \
|
||||||
DlgRef_4Sel1Spin2Check_moc.cxx
|
DlgRef_4Sel1Spin2Check_moc.cxx \
|
||||||
|
DlgRef_3Sel1Check_QTD_moc.cxx
|
||||||
|
|
||||||
# header files
|
# header files
|
||||||
salomeinclude_HEADERS = \
|
salomeinclude_HEADERS = \
|
||||||
@ -200,6 +202,7 @@ salomeinclude_HEADERS = \
|
|||||||
DlgRef_3Check_QTD.h \
|
DlgRef_3Check_QTD.h \
|
||||||
DlgRef_6Sel_QTD.h \
|
DlgRef_6Sel_QTD.h \
|
||||||
DlgRef_4Sel1Spin2Check.h \
|
DlgRef_4Sel1Spin2Check.h \
|
||||||
|
DlgRef_3Sel1Check_QTD.h \
|
||||||
GEOM_DlgRef.hxx
|
GEOM_DlgRef.hxx
|
||||||
|
|
||||||
nodist_libDlgRef_la_SOURCES= \
|
nodist_libDlgRef_la_SOURCES= \
|
||||||
|
210
src/DlgRef/UIFiles/DlgRef_3Sel1Check_QTD.ui
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
|
||||||
|
<class>DlgRef_3Sel1Check_QTD</class>
|
||||||
|
<widget class="QWidget">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>DlgRef_3Sel1Check_QTD</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>490</width>
|
||||||
|
<height>878</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy>
|
||||||
|
<hsizetype>5</hsizetype>
|
||||||
|
<vsizetype>5</vsizetype>
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="caption">
|
||||||
|
<string>DlgRef_3Sel3Spin1Check_QTD</string>
|
||||||
|
</property>
|
||||||
|
<grid>
|
||||||
|
<property name="name">
|
||||||
|
<cstring>unnamed</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="spacing">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QGroupBox" row="0" column="0">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>GroupBox1</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy>
|
||||||
|
<hsizetype>5</hsizetype>
|
||||||
|
<vsizetype>5</vsizetype>
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string></string>
|
||||||
|
</property>
|
||||||
|
<grid>
|
||||||
|
<property name="name">
|
||||||
|
<cstring>unnamed</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="margin">
|
||||||
|
<number>11</number>
|
||||||
|
</property>
|
||||||
|
<property name="spacing">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QPushButton" row="0" column="1">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>PushButton1</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy>
|
||||||
|
<hsizetype>0</hsizetype>
|
||||||
|
<vsizetype>0</vsizetype>
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLineEdit" row="0" column="2">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>LineEdit1</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" row="0" column="0">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>TextLabel1</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy>
|
||||||
|
<hsizetype>0</hsizetype>
|
||||||
|
<vsizetype>0</vsizetype>
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>TL1</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" row="1" column="1">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>PushButton2</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy>
|
||||||
|
<hsizetype>0</hsizetype>
|
||||||
|
<vsizetype>0</vsizetype>
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLineEdit" row="1" column="2">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>LineEdit2</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" row="1" column="0">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>TextLabel2</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy>
|
||||||
|
<hsizetype>0</hsizetype>
|
||||||
|
<vsizetype>0</vsizetype>
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>TL2</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" row="2" column="1">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>PushButton3</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy>
|
||||||
|
<hsizetype>0</hsizetype>
|
||||||
|
<vsizetype>0</vsizetype>
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLineEdit" row="2" column="2">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>LineEdit3</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" row="2" column="0">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>TextLabel3</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy>
|
||||||
|
<hsizetype>0</hsizetype>
|
||||||
|
<vsizetype>0</vsizetype>
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>TL3</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QRadioButton" row="3" column="0" rowspan="1" colspan="2">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>radioButton4</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>radioButton4</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<spacer row="4" column="2">
|
||||||
|
<property name="name">
|
||||||
|
<cstring>Spacer3</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>Expanding</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>721</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</grid>
|
||||||
|
</widget>
|
||||||
|
</grid>
|
||||||
|
</widget>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>PushButton1</tabstop>
|
||||||
|
<tabstop>LineEdit1</tabstop>
|
||||||
|
<tabstop>PushButton2</tabstop>
|
||||||
|
<tabstop>LineEdit2</tabstop>
|
||||||
|
<tabstop>PushButton3</tabstop>
|
||||||
|
<tabstop>LineEdit3</tabstop>
|
||||||
|
</tabstops>
|
||||||
|
<layoutdefaults spacing="6" margin="11"/>
|
||||||
|
</UI>
|
@ -64,12 +64,14 @@ using namespace std;
|
|||||||
// TRUE to construct a modal dialog.
|
// TRUE to construct a modal dialog.
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
EntityGUI_SketcherDlg::EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent,
|
EntityGUI_SketcherDlg::EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent,
|
||||||
const char* name, bool modal, WFlags fl)
|
const char* name, bool modal, WFlags fl,
|
||||||
|
const double lineWidth)
|
||||||
:EntityGUI_Skeleton_QTD(parent, name, modal, WStyle_Customize |
|
:EntityGUI_Skeleton_QTD(parent, name, modal, WStyle_Customize |
|
||||||
WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose),
|
WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose),
|
||||||
myIsAllAdded( false ),
|
myIsAllAdded( false ),
|
||||||
GEOMBase_Helper( dynamic_cast<SUIT_Desktop*>( parent ) ),
|
GEOMBase_Helper( dynamic_cast<SUIT_Desktop*>( parent ) ),
|
||||||
myGeometryGUI( GUI )
|
myGeometryGUI( GUI ),
|
||||||
|
myLineWidth( lineWidth )
|
||||||
{
|
{
|
||||||
myGeometryGUI->SetActiveDialogBox(this);
|
myGeometryGUI->SetActiveDialogBox(this);
|
||||||
|
|
||||||
@ -344,7 +346,7 @@ void EntityGUI_SketcherDlg::Init()
|
|||||||
resize( 0, 0 );
|
resize( 0, 0 );
|
||||||
TypeClicked(0);
|
TypeClicked(0);
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -443,7 +445,7 @@ void EntityGUI_SketcherDlg::PointClicked(int constructorId)
|
|||||||
Group2Spin->show();
|
Group2Spin->show();
|
||||||
Group2Spin->buttonApply->setFocus();
|
Group2Spin->buttonApply->setFocus();
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
else if ( constructorId == 0 )
|
else if ( constructorId == 0 )
|
||||||
{ // DXDY
|
{ // DXDY
|
||||||
@ -459,7 +461,7 @@ void EntityGUI_SketcherDlg::PointClicked(int constructorId)
|
|||||||
Group2Spin->show();
|
Group2Spin->show();
|
||||||
Group2Spin->buttonApply->setFocus();
|
Group2Spin->buttonApply->setFocus();
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
else if ( constructorId == 2 )
|
else if ( constructorId == 2 )
|
||||||
{ // Selection
|
{ // Selection
|
||||||
@ -693,7 +695,7 @@ void EntityGUI_SketcherDlg::Dir2Clicked(int constructorId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -764,7 +766,7 @@ bool EntityGUI_SketcherDlg::ClickOnApply()
|
|||||||
setEnabledUndo(true);
|
setEnabledUndo(true);
|
||||||
setEnabledRedo(false);
|
setEnabledRedo(false);
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
|
|
||||||
// Set focus to SpinBox_DX
|
// Set focus to SpinBox_DX
|
||||||
if (sender() == Group1Spin->buttonApply) {
|
if (sender() == Group1Spin->buttonApply) {
|
||||||
@ -833,7 +835,7 @@ void EntityGUI_SketcherDlg::ClickOnUndo()
|
|||||||
|
|
||||||
setEnabledRedo(true);
|
setEnabledRedo(true);
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -854,7 +856,7 @@ void EntityGUI_SketcherDlg::ClickOnRedo()
|
|||||||
if(myUndoCommand.count() == 1)
|
if(myUndoCommand.count() == 1)
|
||||||
setEnabledRedo(false);
|
setEnabledRedo(false);
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -918,7 +920,7 @@ void EntityGUI_SketcherDlg::SelectionIntoArgument()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -992,7 +994,7 @@ void EntityGUI_SketcherDlg::ActivateThisDialog()
|
|||||||
myEditCurrentArgument = Group1Sel->LineEdit1;
|
myEditCurrentArgument = Group1Sel->LineEdit1;
|
||||||
myEditCurrentArgument->setFocus();
|
myEditCurrentArgument->setFocus();
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1187,7 +1189,7 @@ void EntityGUI_SketcherDlg::ValueChangedInSpinBox(double newValue)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GEOMBase_Helper::displayPreview();
|
GEOMBase_Helper::displayPreview(false, true, true, myLineWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1450,7 +1452,7 @@ void EntityGUI_SketcherDlg::displayPreview( GEOM::GEOM_Object_ptr object,
|
|||||||
getDisplayer()->SetColor( Quantity_NOC_RED );
|
getDisplayer()->SetColor( Quantity_NOC_RED );
|
||||||
|
|
||||||
// set width of displayed shape
|
// set width of displayed shape
|
||||||
getDisplayer()->SetWidth( lineWidth );
|
getDisplayer()->SetWidth( (lineWidth == -1)?myLineWidth:lineWidth );
|
||||||
|
|
||||||
// Disable activation of selection
|
// Disable activation of selection
|
||||||
getDisplayer()->SetToActivate( activate );
|
getDisplayer()->SetToActivate( activate );
|
||||||
|
@ -65,7 +65,8 @@ class GEOM_ENTITYGUI_EXPORT EntityGUI_SketcherDlg : public EntityGUI_Skeleton_QT
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent = 0,
|
EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent = 0,
|
||||||
const char* name = 0, bool modal = FALSE, WFlags fl = 0);
|
const char* name = 0, bool modal = FALSE, WFlags fl = 0,
|
||||||
|
const double lineWidth = 2.);
|
||||||
~EntityGUI_SketcherDlg();
|
~EntityGUI_SketcherDlg();
|
||||||
|
|
||||||
bool eventFilter (QObject* object, QEvent* event);
|
bool eventFilter (QObject* object, QEvent* event);
|
||||||
@ -127,6 +128,7 @@ private :
|
|||||||
DIR_TAN_LENGTH, DIR_TAN_X, DIR_TAN_Y,
|
DIR_TAN_LENGTH, DIR_TAN_X, DIR_TAN_Y,
|
||||||
DIR_DXDY_LENGTH, DIR_DXDY_X, DIR_DXDY_Y};
|
DIR_DXDY_LENGTH, DIR_DXDY_X, DIR_DXDY_Y};
|
||||||
|
|
||||||
|
double myLineWidth;
|
||||||
virtual void displayPreview ( GEOM::GEOM_Object_ptr obj,
|
virtual void displayPreview ( GEOM::GEOM_Object_ptr obj,
|
||||||
const bool append = false,
|
const bool append = false,
|
||||||
const bool activate = false,
|
const bool activate = false,
|
||||||
|
@ -546,7 +546,7 @@ bool EntityGUI_SubShapeDlg::isValid( QString& msg )
|
|||||||
bool EntityGUI_SubShapeDlg::execute( ObjectList& objects )
|
bool EntityGUI_SubShapeDlg::execute( ObjectList& objects )
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aList = GEOM::GEOM_IShapesOperations::_narrow(
|
GEOM::ListOfGO_var aList = GEOM::GEOM_IShapesOperations::_narrow(
|
||||||
getOperation() )->MakeExplode( myObject, shapeType(), false );
|
getOperation() )->MakeExplode( myObject, shapeType(), true );
|
||||||
|
|
||||||
if ( !aList->length() )
|
if ( !aList->length() )
|
||||||
return false;
|
return false;
|
||||||
|
@ -61,6 +61,55 @@ is
|
|||||||
ST_INOUT
|
ST_INOUT
|
||||||
end State;
|
end State;
|
||||||
--
|
--
|
||||||
|
enumeration KindOfShape is
|
||||||
|
KS_UNKNOWN,
|
||||||
|
KS_SPHERE,
|
||||||
|
KS_CYLINDER,
|
||||||
|
KS_BOX,
|
||||||
|
KS_TORUS,
|
||||||
|
KS_CONE,
|
||||||
|
KS_ELLIPSE,
|
||||||
|
KS_PLANE,
|
||||||
|
KS_CIRCLE,
|
||||||
|
KS_LINE,
|
||||||
|
KS_DEGENERATED
|
||||||
|
end KindOfShape;
|
||||||
|
--
|
||||||
|
enumeration KindOfName is
|
||||||
|
KN_UNKNOWN,
|
||||||
|
KN_SPHERE,
|
||||||
|
KN_CYLINDER,
|
||||||
|
KN_TORUS,
|
||||||
|
KN_CONE,
|
||||||
|
KN_ELLIPSE,
|
||||||
|
KN_CIRCLE,
|
||||||
|
KN_PLANE,
|
||||||
|
KN_LINE,
|
||||||
|
KN_BOX,
|
||||||
|
KN_SEGMENT,
|
||||||
|
KN_ARCCIRCLE,
|
||||||
|
KN_POLYGON,
|
||||||
|
KN_POLYHEDRON,
|
||||||
|
KN_DISKCIRCLE,
|
||||||
|
KN_DISKELLIPSE,
|
||||||
|
KN_RECTANGLE,
|
||||||
|
KN_TRIANGLE,
|
||||||
|
KN_QUADRANGLE,
|
||||||
|
KN_ARCELLIPSE
|
||||||
|
end KindOfName;
|
||||||
|
--
|
||||||
|
enumeration KindOfBounds is
|
||||||
|
KB_UNKNOWN,
|
||||||
|
KB_TRIMMED,
|
||||||
|
KB_INFINITE
|
||||||
|
end KindOfBounds;
|
||||||
|
--
|
||||||
|
enumeration KindOfClosed is
|
||||||
|
KC_UNKNOWN,
|
||||||
|
KC_CLOSED,
|
||||||
|
KC_NOTCLOSED
|
||||||
|
end KindOfClosed;
|
||||||
|
--
|
||||||
deferred class HAlgo;
|
deferred class HAlgo;
|
||||||
deferred class Clsf;
|
deferred class Clsf;
|
||||||
class ClsfSurf;
|
class ClsfSurf;
|
||||||
@ -73,8 +122,12 @@ is
|
|||||||
deferred class Algo;
|
deferred class Algo;
|
||||||
deferred class ShapeAlgo;
|
deferred class ShapeAlgo;
|
||||||
--
|
--
|
||||||
|
class ShapeInfo;
|
||||||
|
class ShapeInfoFiller;
|
||||||
|
--
|
||||||
-- gluer
|
-- gluer
|
||||||
class Gluer;
|
class Gluer;
|
||||||
|
class Gluer1;
|
||||||
class GlueAnalyser;
|
class GlueAnalyser;
|
||||||
class CoupleOfShapes;
|
class CoupleOfShapes;
|
||||||
class PassKey;
|
class PassKey;
|
||||||
@ -94,7 +147,16 @@ is
|
|||||||
--
|
--
|
||||||
class FinderShapeOn1;
|
class FinderShapeOn1;
|
||||||
class StateCollector;
|
class StateCollector;
|
||||||
|
-- adds
|
||||||
|
deferred class HAlgo;
|
||||||
|
deferred class Clsf;
|
||||||
|
class ClsfSurf;
|
||||||
|
class ClsfBox;
|
||||||
|
--modified by NIZNHY-PKV Mon Jan 29 10:27:44 2007f
|
||||||
|
class ClsfSolid;
|
||||||
|
--modified by NIZNHY-PKV Mon Jan 29 10:27:46 2007t
|
||||||
|
class FinderShapeOn2;
|
||||||
|
class PassKeyShapeMapHasher;
|
||||||
--
|
--
|
||||||
-- Builder/Splitter
|
-- Builder/Splitter
|
||||||
deferred class BuilderShape;
|
deferred class BuilderShape;
|
||||||
@ -151,21 +213,47 @@ is
|
|||||||
instantiates List from TCollection (CoupleOfShapes from GEOMAlgo);
|
instantiates List from TCollection (CoupleOfShapes from GEOMAlgo);
|
||||||
|
|
||||||
|
|
||||||
class IndexedDataMapOfShapeState
|
class IndexedDataMapOfShapeState
|
||||||
instantiates IndexedDataMap from TCollection (Shape from TopoDS,
|
instantiates IndexedDataMap from TCollection (Shape from TopoDS,
|
||||||
State from TopAbs,
|
State from TopAbs,
|
||||||
ShapeMapHasher from TopTools);
|
ShapeMapHasher from TopTools);
|
||||||
class ListOfPnt
|
class ListOfPnt
|
||||||
instantiates List from TCollection (Pnt from gp);
|
instantiates List from TCollection (Pnt from gp);
|
||||||
|
|
||||||
class DataMapOfPassKeyInteger
|
class DataMapOfPassKeyInteger
|
||||||
instantiates DataMap from TCollection (PassKey from GEOMAlgo,
|
instantiates DataMap from TCollection (PassKey from GEOMAlgo,
|
||||||
Integer from Standard,
|
Integer from Standard,
|
||||||
PassKeyMapHasher from GEOMAlgo);
|
PassKeyMapHasher from GEOMAlgo);
|
||||||
|
|
||||||
class IndexedDataMapOfPassKeyShapeListOfShape
|
class IndexedDataMapOfPassKeyShapeListOfShape
|
||||||
instantiates IndexedDataMap from TCollection (PassKeyShape from GEOMAlgo,
|
instantiates IndexedDataMap from TCollection (PassKeyShape from GEOMAlgo,
|
||||||
ListOfShape from TopTools,
|
ListOfShape from TopTools,
|
||||||
PassKeyShapeMapHasher from GEOMAlgo);
|
PassKeyShapeMapHasher from GEOMAlgo);
|
||||||
|
|
||||||
|
class IndexedDataMapOfShapeShapeInfo
|
||||||
|
instantiates IndexedDataMap from TCollection (Shape from TopoDS,
|
||||||
|
ShapeInfo from GEOMAlgo,
|
||||||
|
ShapeMapHasher from TopTools);
|
||||||
|
|
||||||
|
class DataMapOfPassKeyShapeShape
|
||||||
|
instantiates DataMap from TCollection (PassKeyShape from GEOMAlgo,
|
||||||
|
Shape from TopoDS,
|
||||||
|
PassKeyShapeMapHasher from GEOMAlgo);
|
||||||
|
|
||||||
|
class DataMapOfShapeShapeSet instantiates
|
||||||
|
DataMap from TCollection(Shape from TopoDS,
|
||||||
|
ShapeSet from GEOMAlgo,
|
||||||
|
ShapeMapHasher from TopTools);
|
||||||
|
|
||||||
|
class DataMapOfShapeReal instantiates
|
||||||
|
DataMap from TCollection(Shape from TopoDS,
|
||||||
|
Real from Standard,
|
||||||
|
ShapeMapHasher from TopTools);
|
||||||
|
|
||||||
|
|
||||||
|
class DataMapOfRealListOfShape instantiates
|
||||||
|
DataMap from TCollection(Real from Standard,
|
||||||
|
ListOfShape from TopTools,
|
||||||
|
MapRealHasher from TColStd);
|
||||||
|
|
||||||
end GEOMAlgo;
|
end GEOMAlgo;
|
||||||
|
@ -99,6 +99,13 @@ is
|
|||||||
--
|
--
|
||||||
-- protected methods
|
-- protected methods
|
||||||
--
|
--
|
||||||
|
--
|
||||||
|
PerformInternal(me:out;
|
||||||
|
theDSF: DSFiller from NMTTools)
|
||||||
|
---Purpose: Performs calculations using prepared DSFiller
|
||||||
|
-- object theDSF
|
||||||
|
is protected;
|
||||||
|
--
|
||||||
PrepareHistory (me:out)
|
PrepareHistory (me:out)
|
||||||
---Purpose: Prepare information for history support
|
---Purpose: Prepare information for history support
|
||||||
is redefined protected;
|
is redefined protected;
|
||||||
@ -241,7 +248,7 @@ fields
|
|||||||
mySameDomainShapes: IndexedDataMapOfShapeShape from TopTools is protected;
|
mySameDomainShapes: IndexedDataMapOfShapeShape from TopTools is protected;
|
||||||
-- solids
|
-- solids
|
||||||
myDraftSolids : IndexedDataMapOfShapeShape from TopTools is protected;
|
myDraftSolids : IndexedDataMapOfShapeShape from TopTools is protected;
|
||||||
|
myEntryPoint : Integer from Standard is protected;
|
||||||
--
|
--
|
||||||
end Builder;
|
end Builder;
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@
|
|||||||
{
|
{
|
||||||
myNbTypes=9;
|
myNbTypes=9;
|
||||||
myDSFiller=NULL;
|
myDSFiller=NULL;
|
||||||
|
myEntryPoint=0; // Entry point through PerformWithFiller ()
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ~
|
//function : ~
|
||||||
@ -59,6 +60,12 @@
|
|||||||
//=======================================================================
|
//=======================================================================
|
||||||
GEOMAlgo_Builder::~GEOMAlgo_Builder()
|
GEOMAlgo_Builder::~GEOMAlgo_Builder()
|
||||||
{
|
{
|
||||||
|
if (myEntryPoint==1) {
|
||||||
|
if (myDSFiller) {
|
||||||
|
delete myDSFiller;
|
||||||
|
myDSFiller=NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddCompound
|
//function : AddCompound
|
||||||
@ -253,18 +260,33 @@
|
|||||||
aBB.Add(aCS, aS);
|
aBB.Add(aCS, aS);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
if (myDSFiller) {
|
||||||
|
delete myDSFiller;
|
||||||
|
myDSFiller=NULL;
|
||||||
|
}
|
||||||
NMTTools_DSFiller* pDSF=new NMTTools_DSFiller;
|
NMTTools_DSFiller* pDSF=new NMTTools_DSFiller;
|
||||||
//
|
//
|
||||||
pDSF->SetCompositeShape(aCS);
|
pDSF->SetCompositeShape(aCS);
|
||||||
pDSF->Perform();
|
pDSF->Perform();
|
||||||
//
|
//
|
||||||
PerformWithFiller(*pDSF);
|
myEntryPoint=1;
|
||||||
|
PerformInternal(*pDSF);
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformWithFiller
|
//function : PerformWithFiller
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_Builder::PerformWithFiller(const NMTTools_DSFiller& theDSF)
|
void GEOMAlgo_Builder::PerformWithFiller(const NMTTools_DSFiller& theDSF)
|
||||||
|
{
|
||||||
|
myEntryPoint=0;
|
||||||
|
//
|
||||||
|
PerformInternal(theDSF);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : PerformInternal
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_Builder::PerformInternal(const NMTTools_DSFiller& theDSF)
|
||||||
{
|
{
|
||||||
myErrorStatus=0;
|
myErrorStatus=0;
|
||||||
//
|
//
|
||||||
|
@ -137,6 +137,10 @@ protected:
|
|||||||
// Methods PROTECTED
|
// Methods PROTECTED
|
||||||
//
|
//
|
||||||
|
|
||||||
|
//! Performs calculations using prepared DSFiller <br>
|
||||||
|
//! object theDSF <br>
|
||||||
|
Standard_EXPORT void PerformInternal(const NMTTools_DSFiller& theDSF) ;
|
||||||
|
|
||||||
//! Prepare information for history support <br>
|
//! Prepare information for history support <br>
|
||||||
Standard_EXPORT virtual void PrepareHistory() ;
|
Standard_EXPORT virtual void PrepareHistory() ;
|
||||||
|
|
||||||
@ -220,6 +224,7 @@ TopTools_IndexedDataMapOfShapeListOfShape myInParts;
|
|||||||
BRepAlgo_Image mySplitFaces;
|
BRepAlgo_Image mySplitFaces;
|
||||||
TopTools_IndexedDataMapOfShapeShape mySameDomainShapes;
|
TopTools_IndexedDataMapOfShapeShape mySameDomainShapes;
|
||||||
TopTools_IndexedDataMapOfShapeShape myDraftSolids;
|
TopTools_IndexedDataMapOfShapeShape myDraftSolids;
|
||||||
|
Standard_Integer myEntryPoint;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -578,7 +578,77 @@ void MakeInternalWires(const TopTools_MapOfShape& theME,
|
|||||||
theWires.Append(aW);
|
theWires.Append(aW);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : IsInside
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Boolean IsInside(const TopoDS_Shape& theHole,
|
||||||
|
const TopoDS_Shape& theF2,
|
||||||
|
IntTools_PContext& theContext)
|
||||||
|
{
|
||||||
|
Standard_Boolean bRet;
|
||||||
|
Standard_Real aT, aU, aV;
|
||||||
|
|
||||||
|
TopAbs_State aState;
|
||||||
|
TopExp_Explorer aExp;
|
||||||
|
TopTools_IndexedMapOfShape aME2;
|
||||||
|
gp_Pnt2d aP2D;
|
||||||
|
//
|
||||||
|
bRet=Standard_False;
|
||||||
|
aState=TopAbs_UNKNOWN;
|
||||||
|
const TopoDS_Face& aF2=TopoDS::Face(theF2);
|
||||||
|
//
|
||||||
|
TopExp::MapShapes(aF2, TopAbs_EDGE, aME2);
|
||||||
|
//
|
||||||
|
aExp.Init(theHole, TopAbs_EDGE);
|
||||||
|
if (aExp.More()) {
|
||||||
|
const TopoDS_Edge& aE = TopoDS::Edge(aExp.Current());
|
||||||
|
if (aME2.Contains(aE)) {
|
||||||
|
return bRet;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aT=BOPTools_Tools2D::IntermediatePoint(aE);
|
||||||
|
BOPTools_Tools2D::PointOnSurface(aE, aF2, aT, aU, aV);
|
||||||
|
aP2D.SetCoord(aU, aV);
|
||||||
|
//
|
||||||
|
IntTools_FClass2d& aClsf=theContext->FClass2d(aF2);
|
||||||
|
aState=aClsf.Perform(aP2D);
|
||||||
|
bRet=(aState==TopAbs_IN);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
return bRet;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : IsGrowthWire
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Boolean IsGrowthWire(const TopoDS_Shape& theWire,
|
||||||
|
const TopTools_IndexedMapOfShape& theMHE)
|
||||||
|
{
|
||||||
|
Standard_Boolean bRet;
|
||||||
|
TopoDS_Iterator aIt;
|
||||||
|
//
|
||||||
|
bRet=Standard_False;
|
||||||
|
if (theMHE.Extent()) {
|
||||||
|
aIt.Initialize(theWire);
|
||||||
|
for(; aIt.More(); aIt.Next()) {
|
||||||
|
const TopoDS_Shape& aE=aIt.Value();
|
||||||
|
if (theMHE.Contains(aE)) {
|
||||||
|
return !bRet;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bRet;
|
||||||
|
}
|
||||||
|
|
||||||
|
//BRepTools::Write(aFF, "ff");
|
||||||
|
//
|
||||||
|
// ErrorStatus :
|
||||||
|
// 11 - Null Context
|
||||||
|
// 12 - Null face generix
|
||||||
|
|
||||||
|
/*
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : IsInside
|
//function : IsInside
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -606,71 +676,4 @@ Standard_Boolean IsInside(const TopoDS_Shape& theHole,
|
|||||||
}
|
}
|
||||||
return (aState==TopAbs_IN);
|
return (aState==TopAbs_IN);
|
||||||
}
|
}
|
||||||
//=======================================================================
|
|
||||||
//function : IsGrowthWire
|
|
||||||
//purpose :
|
|
||||||
//=======================================================================
|
|
||||||
Standard_Boolean IsGrowthWire(const TopoDS_Shape& theWire,
|
|
||||||
const TopTools_IndexedMapOfShape& theMHE)
|
|
||||||
{
|
|
||||||
Standard_Boolean bRet;
|
|
||||||
TopoDS_Iterator aIt;
|
|
||||||
//
|
|
||||||
bRet=Standard_False;
|
|
||||||
if (theMHE.Extent()) {
|
|
||||||
aIt.Initialize(theWire);
|
|
||||||
for(; aIt.More(); aIt.Next()) {
|
|
||||||
const TopoDS_Shape& aE=aIt.Value();
|
|
||||||
if (theMHE.Contains(aE)) {
|
|
||||||
return !bRet;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return bRet;
|
|
||||||
}
|
|
||||||
//modified by NIZNHY-PKV Mon Sep 18 13:18:27 2006f
|
|
||||||
/*
|
|
||||||
static
|
|
||||||
Standard_Boolean IsHole(const TopoDS_Shape& ,
|
|
||||||
const TopoDS_Face& ,
|
|
||||||
IntTools_PContext& );
|
|
||||||
*/
|
*/
|
||||||
//modified by NIZNHY-PKV Mon Sep 18 13:18:34 2006t
|
|
||||||
//modified by NIZNHY-PKV Mon Sep 18 13:18:13 2006f
|
|
||||||
/*
|
|
||||||
//=======================================================================
|
|
||||||
//function : IsHole
|
|
||||||
//purpose :
|
|
||||||
//=======================================================================
|
|
||||||
Standard_Boolean IsHole(const TopoDS_Shape& theS2,
|
|
||||||
const TopoDS_Face& theFace,
|
|
||||||
IntTools_PContext& theContext)
|
|
||||||
{
|
|
||||||
Standard_Boolean bIsHole;
|
|
||||||
Standard_Real aTol;
|
|
||||||
Handle(Geom_Surface) aS;
|
|
||||||
TopLoc_Location aLoc;
|
|
||||||
TopoDS_Face aF;
|
|
||||||
BRep_Builder aBB;
|
|
||||||
//
|
|
||||||
aTol=BRep_Tool::Tolerance(theFace);
|
|
||||||
aS=BRep_Tool::Surface(theFace, aLoc);
|
|
||||||
aBB.MakeFace(aF, aS, aLoc, aTol);
|
|
||||||
aBB.Add (aF, theS2);
|
|
||||||
//
|
|
||||||
IntTools_FClass2d& aClsf=theContext->FClass2d(aF);
|
|
||||||
//
|
|
||||||
bIsHole=aClsf.IsHole();
|
|
||||||
//
|
|
||||||
return bIsHole;
|
|
||||||
//
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
//modified by NIZNHY-PKV Mon Sep 18 13:18:06 2006t
|
|
||||||
|
|
||||||
//BRepTools::Write(aFF, "ff");
|
|
||||||
//
|
|
||||||
// ErrorStatus :
|
|
||||||
// 11 - Null Context
|
|
||||||
// 12 - Null face generix
|
|
||||||
|
|
||||||
|
59
src/GEOMAlgo/GEOMAlgo_ClsfSolid.cdl
Executable file
@ -0,0 +1,59 @@
|
|||||||
|
-- Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
--
|
||||||
|
-- This library is free software; you can redistribute it and/or
|
||||||
|
-- modify it under the terms of the GNU Lesser General Public
|
||||||
|
-- License as published by the Free Software Foundation; either
|
||||||
|
-- version 2.1 of the License.
|
||||||
|
--
|
||||||
|
-- This library is distributed in the hope that it will be useful
|
||||||
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
-- Lesser General Public License for more details.
|
||||||
|
--
|
||||||
|
-- You should have received a copy of the GNU Lesser General Public
|
||||||
|
-- License along with this library; if not, write to the Free Software
|
||||||
|
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--
|
||||||
|
-- See http:--www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
--
|
||||||
|
-- File: GEOMAlgo_ClsfSolid.cdl
|
||||||
|
-- Created: Mon Jan 29 10:28:07 2007
|
||||||
|
-- Author: Peter KURNEV
|
||||||
|
-- <pkv@irinox>
|
||||||
|
|
||||||
|
|
||||||
|
class ClsfSolid from GEOMAlgo
|
||||||
|
inherits Clsf from GEOMAlgo
|
||||||
|
|
||||||
|
---Purpose:
|
||||||
|
|
||||||
|
uses
|
||||||
|
Shape from TopoDS
|
||||||
|
|
||||||
|
--raises
|
||||||
|
|
||||||
|
is
|
||||||
|
Create
|
||||||
|
returns mutable ClsfSolid from GEOMAlgo;
|
||||||
|
---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_ClsfSolid();"
|
||||||
|
|
||||||
|
SetShape(me:mutable;
|
||||||
|
aS:Shape from TopoDS);
|
||||||
|
|
||||||
|
Shape(me)
|
||||||
|
returns Shape from TopoDS;
|
||||||
|
---C++: return const &
|
||||||
|
|
||||||
|
Perform(me:mutable)
|
||||||
|
is redefined;
|
||||||
|
|
||||||
|
CheckData(me:mutable)
|
||||||
|
is redefined;
|
||||||
|
|
||||||
|
|
||||||
|
fields
|
||||||
|
myShape: Shape from TopoDS is protected;
|
||||||
|
myPClsf: Address from Standard is protected;
|
||||||
|
|
||||||
|
end ClsfSolid;
|
139
src/GEOMAlgo/GEOMAlgo_ClsfSolid.cxx
Executable file
@ -0,0 +1,139 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
//
|
||||||
|
// File: GEOMAlgo_ClsfSolid.cxx
|
||||||
|
// Created: Mon Jan 29 10:35:46 2007
|
||||||
|
// Author: Peter KURNEV
|
||||||
|
// <pkv@irinox>
|
||||||
|
|
||||||
|
|
||||||
|
#include <GEOMAlgo_ClsfSolid.ixx>
|
||||||
|
|
||||||
|
#include <TopAbs_ShapeEnum.hxx>
|
||||||
|
#include <TopoDS.hxx>
|
||||||
|
#include <TopoDS_Solid.hxx>
|
||||||
|
#include <BRep_Builder.hxx>
|
||||||
|
#include <BRepClass3d_SolidClassifier.hxx>
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function :
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_ClsfSolid::GEOMAlgo_ClsfSolid()
|
||||||
|
:
|
||||||
|
GEOMAlgo_Clsf()
|
||||||
|
{
|
||||||
|
myPClsf=NULL;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : ~
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_ClsfSolid::~GEOMAlgo_ClsfSolid()
|
||||||
|
{
|
||||||
|
if (myPClsf) {
|
||||||
|
BRepClass3d_SolidClassifier* pSC;
|
||||||
|
//
|
||||||
|
pSC=(BRepClass3d_SolidClassifier*)myPClsf;
|
||||||
|
delete pSC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetShape
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ClsfSolid::SetShape(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
myShape=aS;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Shape
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const TopoDS_Shape& GEOMAlgo_ClsfSolid::Shape()const
|
||||||
|
{
|
||||||
|
return myShape;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : CheckData
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ClsfSolid::CheckData()
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
BRepClass3d_SolidClassifier* pSC;
|
||||||
|
TopAbs_ShapeEnum aType;
|
||||||
|
BRep_Builder aBB;
|
||||||
|
TopoDS_Solid aS;
|
||||||
|
//
|
||||||
|
if (myShape.IsNull()) {
|
||||||
|
myErrorStatus=10; // mySolid=NULL
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aType=myShape.ShapeType();
|
||||||
|
if (!(aType==TopAbs_SOLID || aType==TopAbs_SHELL)) {
|
||||||
|
myErrorStatus=12;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
//===
|
||||||
|
if (aType==TopAbs_SOLID) {
|
||||||
|
aS=TopoDS::Solid(myShape);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aBB.MakeSolid(aS);
|
||||||
|
aBB.Add(aS, myShape);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (myPClsf) {
|
||||||
|
pSC=(BRepClass3d_SolidClassifier*)myPClsf;
|
||||||
|
delete pSC;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
pSC=new BRepClass3d_SolidClassifier(aS);
|
||||||
|
myPClsf=pSC;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Perform
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ClsfSolid::Perform()
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
if (!myPClsf) {
|
||||||
|
myErrorStatus=11;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
BRepClass3d_SolidClassifier* pSC;
|
||||||
|
//
|
||||||
|
pSC=(BRepClass3d_SolidClassifier*)myPClsf;
|
||||||
|
pSC->Perform(myPnt, myTolerance);
|
||||||
|
myState=pSC->State();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// myErrorStatus :
|
||||||
|
//
|
||||||
|
// 10 - mySolid=NULL
|
||||||
|
// 11 - myPClsf=NULL
|
||||||
|
// 12 - unallowed type of myShape
|
||||||
|
|
106
src/GEOMAlgo/GEOMAlgo_ClsfSolid.hxx
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_ClsfSolid_HeaderFile
|
||||||
|
#define _GEOMAlgo_ClsfSolid_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Handle_GEOMAlgo_ClsfSolid_HeaderFile
|
||||||
|
#include <Handle_GEOMAlgo_ClsfSolid.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Address_HeaderFile
|
||||||
|
#include <Standard_Address.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_Clsf_HeaderFile
|
||||||
|
#include <GEOMAlgo_Clsf.hxx>
|
||||||
|
#endif
|
||||||
|
class TopoDS_Shape;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_ClsfSolid : public GEOMAlgo_Clsf {
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_ClsfSolid();
|
||||||
|
Standard_EXPORT virtual ~GEOMAlgo_ClsfSolid();
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetShape(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const TopoDS_Shape& Shape() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT virtual void Perform() ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT virtual void CheckData() ;
|
||||||
|
//Standard_EXPORT ~GEOMAlgo_ClsfSolid();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Type management
|
||||||
|
//
|
||||||
|
Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
|
||||||
|
//Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
TopoDS_Shape myShape;
|
||||||
|
Standard_Address myPClsf;
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
74
src/GEOMAlgo/GEOMAlgo_ClsfSolid.ixx
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#include <GEOMAlgo_ClsfSolid.jxx>
|
||||||
|
|
||||||
|
#ifndef _Standard_TypeMismatch_HeaderFile
|
||||||
|
#include <Standard_TypeMismatch.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//GEOMAlgo_ClsfSolid::~GEOMAlgo_ClsfSolid() {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Handle_Standard_Type& GEOMAlgo_ClsfSolid_Type_()
|
||||||
|
{
|
||||||
|
|
||||||
|
static Handle_Standard_Type aType1 = STANDARD_TYPE(GEOMAlgo_Clsf);
|
||||||
|
static Handle_Standard_Type aType2 = STANDARD_TYPE(GEOMAlgo_HAlgo);
|
||||||
|
static Handle_Standard_Type aType3 = STANDARD_TYPE(MMgt_TShared);
|
||||||
|
static Handle_Standard_Type aType4 = STANDARD_TYPE(Standard_Transient);
|
||||||
|
|
||||||
|
|
||||||
|
static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,aType4,NULL};
|
||||||
|
static Handle_Standard_Type _aType = new Standard_Type("GEOMAlgo_ClsfSolid",
|
||||||
|
sizeof(GEOMAlgo_ClsfSolid),
|
||||||
|
1,
|
||||||
|
(Standard_Address)_Ancestors,
|
||||||
|
(Standard_Address)NULL);
|
||||||
|
|
||||||
|
return _aType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// DownCast method
|
||||||
|
// allow safe downcasting
|
||||||
|
//
|
||||||
|
const Handle(GEOMAlgo_ClsfSolid) Handle(GEOMAlgo_ClsfSolid)::DownCast(const Handle(Standard_Transient)& AnObject)
|
||||||
|
{
|
||||||
|
Handle(GEOMAlgo_ClsfSolid) _anOtherObject;
|
||||||
|
|
||||||
|
if (!AnObject.IsNull()) {
|
||||||
|
if (AnObject->IsKind(STANDARD_TYPE(GEOMAlgo_ClsfSolid))) {
|
||||||
|
_anOtherObject = Handle(GEOMAlgo_ClsfSolid)((Handle(GEOMAlgo_ClsfSolid)&)AnObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return _anOtherObject ;
|
||||||
|
}
|
||||||
|
const Handle(Standard_Type)& GEOMAlgo_ClsfSolid::DynamicType() const
|
||||||
|
{
|
||||||
|
return STANDARD_TYPE(GEOMAlgo_ClsfSolid) ;
|
||||||
|
}
|
||||||
|
//Standard_Boolean GEOMAlgo_ClsfSolid::IsKind(const Handle(Standard_Type)& AType) const
|
||||||
|
//{
|
||||||
|
// return (STANDARD_TYPE(GEOMAlgo_ClsfSolid) == AType || GEOMAlgo_Clsf::IsKind(AType));
|
||||||
|
//}
|
||||||
|
//Handle_GEOMAlgo_ClsfSolid::~Handle_GEOMAlgo_ClsfSolid() {}
|
||||||
|
|
25
src/GEOMAlgo/GEOMAlgo_ClsfSolid.jxx
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_ClsfSolid_HeaderFile
|
||||||
|
#include <GEOMAlgo_ClsfSolid.hxx>
|
||||||
|
#endif
|
@ -0,0 +1,113 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#define _GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _TCollection_BasicMapIterator_HeaderFile
|
||||||
|
#include <TCollection_BasicMapIterator.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
class Standard_NoSuchObject;
|
||||||
|
class GEOMAlgo_PassKeyShape;
|
||||||
|
class TopoDS_Shape;
|
||||||
|
class GEOMAlgo_PassKeyShapeMapHasher;
|
||||||
|
class GEOMAlgo_DataMapOfPassKeyShapeShape;
|
||||||
|
class GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Macro_HeaderFile
|
||||||
|
#include <Standard_Macro.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape : public TCollection_BasicMapIterator {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void* operator new(size_t,void* anAddress)
|
||||||
|
{
|
||||||
|
return anAddress;
|
||||||
|
}
|
||||||
|
void* operator new(size_t size)
|
||||||
|
{
|
||||||
|
return Standard::Allocate(size);
|
||||||
|
}
|
||||||
|
void operator delete(void *anAddress)
|
||||||
|
{
|
||||||
|
if (anAddress) Standard::Free((Standard_Address&)anAddress);
|
||||||
|
}
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape();
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape(const GEOMAlgo_DataMapOfPassKeyShapeShape& aMap);
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void Initialize(const GEOMAlgo_DataMapOfPassKeyShapeShape& aMap) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const GEOMAlgo_PassKeyShape& Key() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const TopoDS_Shape& Value() const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,57 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#include <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
|
||||||
|
#ifndef _Standard_NoSuchObject_HeaderFile
|
||||||
|
#include <Standard_NoSuchObject.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_PassKeyShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_PassKeyShapeMapHasher_HeaderFile
|
||||||
|
#include <GEOMAlgo_PassKeyShapeMapHasher.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define TheKey GEOMAlgo_PassKeyShape
|
||||||
|
#define TheKey_hxx <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#define TheItem TopoDS_Shape
|
||||||
|
#define TheItem_hxx <TopoDS_Shape.hxx>
|
||||||
|
#define Hasher GEOMAlgo_PassKeyShapeMapHasher
|
||||||
|
#define Hasher_hxx <GEOMAlgo_PassKeyShapeMapHasher.hxx>
|
||||||
|
#define TCollection_DataMapNode GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapNode_hxx <GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#define TCollection_DataMapIterator GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapIterator_hxx <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#define Handle_TCollection_DataMapNode Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapNode_Type_() GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_Type_()
|
||||||
|
#define TCollection_DataMap GEOMAlgo_DataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMap_hxx <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#include <TCollection_DataMapIterator.gxx>
|
||||||
|
|
@ -0,0 +1,132 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#define _GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_PassKeyShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TCollection_MapNode_HeaderFile
|
||||||
|
#include <TCollection_MapNode.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TCollection_MapNodePtr_HeaderFile
|
||||||
|
#include <TCollection_MapNodePtr.hxx>
|
||||||
|
#endif
|
||||||
|
class GEOMAlgo_PassKeyShape;
|
||||||
|
class TopoDS_Shape;
|
||||||
|
class GEOMAlgo_PassKeyShapeMapHasher;
|
||||||
|
class GEOMAlgo_DataMapOfPassKeyShapeShape;
|
||||||
|
class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape : public TCollection_MapNode {
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape(const GEOMAlgo_PassKeyShape& K,const TopoDS_Shape& I,const TCollection_MapNodePtr& n);
|
||||||
|
|
||||||
|
GEOMAlgo_PassKeyShape& Key() const;
|
||||||
|
|
||||||
|
TopoDS_Shape& Value() const;
|
||||||
|
//Standard_EXPORT ~GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Type management
|
||||||
|
//
|
||||||
|
Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
|
||||||
|
//Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
GEOMAlgo_PassKeyShape myKey;
|
||||||
|
TopoDS_Shape myValue;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#define TheKey GEOMAlgo_PassKeyShape
|
||||||
|
#define TheKey_hxx <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#define TheItem TopoDS_Shape
|
||||||
|
#define TheItem_hxx <TopoDS_Shape.hxx>
|
||||||
|
#define Hasher GEOMAlgo_PassKeyShapeMapHasher
|
||||||
|
#define Hasher_hxx <GEOMAlgo_PassKeyShapeMapHasher.hxx>
|
||||||
|
#define TCollection_DataMapNode GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapNode_hxx <GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#define TCollection_DataMapIterator GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapIterator_hxx <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#define Handle_TCollection_DataMapNode Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapNode_Type_() GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_Type_()
|
||||||
|
#define TCollection_DataMap GEOMAlgo_DataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMap_hxx <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
|
||||||
|
#include <TCollection_DataMapNode.lxx>
|
||||||
|
|
||||||
|
#undef TheKey
|
||||||
|
#undef TheKey_hxx
|
||||||
|
#undef TheItem
|
||||||
|
#undef TheItem_hxx
|
||||||
|
#undef Hasher
|
||||||
|
#undef Hasher_hxx
|
||||||
|
#undef TCollection_DataMapNode
|
||||||
|
#undef TCollection_DataMapNode_hxx
|
||||||
|
#undef TCollection_DataMapIterator
|
||||||
|
#undef TCollection_DataMapIterator_hxx
|
||||||
|
#undef Handle_TCollection_DataMapNode
|
||||||
|
#undef TCollection_DataMapNode_Type_
|
||||||
|
#undef TCollection_DataMap
|
||||||
|
#undef TCollection_DataMap_hxx
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,103 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#include <GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
|
||||||
|
#ifndef _Standard_TypeMismatch_HeaderFile
|
||||||
|
#include <Standard_TypeMismatch.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_PassKeyShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_PassKeyShapeMapHasher_HeaderFile
|
||||||
|
#include <GEOMAlgo_PassKeyShapeMapHasher.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
//GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape::~GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape() {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Handle_Standard_Type& GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_Type_()
|
||||||
|
{
|
||||||
|
|
||||||
|
static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
|
||||||
|
static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
|
||||||
|
static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
|
||||||
|
|
||||||
|
|
||||||
|
static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
|
||||||
|
static Handle_Standard_Type _aType = new Standard_Type("GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape",
|
||||||
|
sizeof(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape),
|
||||||
|
1,
|
||||||
|
(Standard_Address)_Ancestors,
|
||||||
|
(Standard_Address)NULL);
|
||||||
|
|
||||||
|
return _aType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// DownCast method
|
||||||
|
// allow safe downcasting
|
||||||
|
//
|
||||||
|
const Handle(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape) Handle(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape)::DownCast(const Handle(Standard_Transient)& AnObject)
|
||||||
|
{
|
||||||
|
Handle(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape) _anOtherObject;
|
||||||
|
|
||||||
|
if (!AnObject.IsNull()) {
|
||||||
|
if (AnObject->IsKind(STANDARD_TYPE(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape))) {
|
||||||
|
_anOtherObject = Handle(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape)((Handle(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape)&)AnObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return _anOtherObject ;
|
||||||
|
}
|
||||||
|
const Handle(Standard_Type)& GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape::DynamicType() const
|
||||||
|
{
|
||||||
|
return STANDARD_TYPE(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape) ;
|
||||||
|
}
|
||||||
|
//Standard_Boolean GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape::IsKind(const Handle(Standard_Type)& AType) const
|
||||||
|
//{
|
||||||
|
// return (STANDARD_TYPE(GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape) == AType || TCollection_MapNode::IsKind(AType));
|
||||||
|
//}
|
||||||
|
//Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape::~Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape() {}
|
||||||
|
#define TheKey GEOMAlgo_PassKeyShape
|
||||||
|
#define TheKey_hxx <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#define TheItem TopoDS_Shape
|
||||||
|
#define TheItem_hxx <TopoDS_Shape.hxx>
|
||||||
|
#define Hasher GEOMAlgo_PassKeyShapeMapHasher
|
||||||
|
#define Hasher_hxx <GEOMAlgo_PassKeyShapeMapHasher.hxx>
|
||||||
|
#define TCollection_DataMapNode GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapNode_hxx <GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#define TCollection_DataMapIterator GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapIterator_hxx <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#define Handle_TCollection_DataMapNode Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapNode_Type_() GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_Type_()
|
||||||
|
#define TCollection_DataMap GEOMAlgo_DataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMap_hxx <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#include <TCollection_DataMapNode.gxx>
|
||||||
|
|
155
src/GEOMAlgo/GEOMAlgo_DataMapOfPassKeyShapeShape.hxx
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#define _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _TCollection_BasicMap_HeaderFile
|
||||||
|
#include <TCollection_BasicMap.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Integer_HeaderFile
|
||||||
|
#include <Standard_Integer.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Boolean_HeaderFile
|
||||||
|
#include <Standard_Boolean.hxx>
|
||||||
|
#endif
|
||||||
|
class Standard_DomainError;
|
||||||
|
class Standard_NoSuchObject;
|
||||||
|
class GEOMAlgo_PassKeyShape;
|
||||||
|
class TopoDS_Shape;
|
||||||
|
class GEOMAlgo_PassKeyShapeMapHasher;
|
||||||
|
class GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape;
|
||||||
|
class GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Macro_HeaderFile
|
||||||
|
#include <Standard_Macro.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_DataMapOfPassKeyShapeShape : public TCollection_BasicMap {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void* operator new(size_t,void* anAddress)
|
||||||
|
{
|
||||||
|
return anAddress;
|
||||||
|
}
|
||||||
|
void* operator new(size_t size)
|
||||||
|
{
|
||||||
|
return Standard::Allocate(size);
|
||||||
|
}
|
||||||
|
void operator delete(void *anAddress)
|
||||||
|
{
|
||||||
|
if (anAddress) Standard::Free((Standard_Address&)anAddress);
|
||||||
|
}
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape(const Standard_Integer NbBuckets = 1);
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape& Assign(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other) ;
|
||||||
|
GEOMAlgo_DataMapOfPassKeyShapeShape& operator =(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other)
|
||||||
|
{
|
||||||
|
return Assign(Other);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void Clear() ;
|
||||||
|
~GEOMAlgo_DataMapOfPassKeyShapeShape()
|
||||||
|
{
|
||||||
|
Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Boolean Bind(const GEOMAlgo_PassKeyShape& K,const TopoDS_Shape& I) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Boolean IsBound(const GEOMAlgo_PassKeyShape& K) const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Boolean UnBind(const GEOMAlgo_PassKeyShape& K) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const TopoDS_Shape& Find(const GEOMAlgo_PassKeyShape& K) const;
|
||||||
|
const TopoDS_Shape& operator()(const GEOMAlgo_PassKeyShape& K) const
|
||||||
|
{
|
||||||
|
return Find(K);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT TopoDS_Shape& ChangeFind(const GEOMAlgo_PassKeyShape& K) ;
|
||||||
|
TopoDS_Shape& operator()(const GEOMAlgo_PassKeyShape& K)
|
||||||
|
{
|
||||||
|
return ChangeFind(K);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_DataMapOfPassKeyShapeShape(const GEOMAlgo_DataMapOfPassKeyShapeShape& Other);
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
60
src/GEOMAlgo/GEOMAlgo_DataMapOfPassKeyShapeShape_0.cxx
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#include <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
|
||||||
|
#ifndef _Standard_DomainError_HeaderFile
|
||||||
|
#include <Standard_DomainError.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_NoSuchObject_HeaderFile
|
||||||
|
#include <Standard_NoSuchObject.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_PassKeyShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_PassKeyShapeMapHasher_HeaderFile
|
||||||
|
#include <GEOMAlgo_PassKeyShapeMapHasher.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define TheKey GEOMAlgo_PassKeyShape
|
||||||
|
#define TheKey_hxx <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#define TheItem TopoDS_Shape
|
||||||
|
#define TheItem_hxx <TopoDS_Shape.hxx>
|
||||||
|
#define Hasher GEOMAlgo_PassKeyShapeMapHasher
|
||||||
|
#define Hasher_hxx <GEOMAlgo_PassKeyShapeMapHasher.hxx>
|
||||||
|
#define TCollection_DataMapNode GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapNode_hxx <GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#define TCollection_DataMapIterator GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapIterator_hxx <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#define Handle_TCollection_DataMapNode Handle_GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMapNode_Type_() GEOMAlgo_DataMapNodeOfDataMapOfPassKeyShapeShape_Type_()
|
||||||
|
#define TCollection_DataMap GEOMAlgo_DataMapOfPassKeyShapeShape
|
||||||
|
#define TCollection_DataMap_hxx <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#include <TCollection_DataMap.gxx>
|
||||||
|
|
@ -25,6 +25,11 @@
|
|||||||
|
|
||||||
#include <GEOMAlgo_Gluer.ixx>
|
#include <GEOMAlgo_Gluer.ixx>
|
||||||
|
|
||||||
|
#include <NMTDS_BoxBndTree.hxx>
|
||||||
|
#include <NCollection_UBTreeFiller.hxx>
|
||||||
|
|
||||||
|
#include <TColStd_MapIteratorOfMapOfInteger.hxx>
|
||||||
|
#include <TColStd_MapOfInteger.hxx>
|
||||||
#include <TColStd_ListOfInteger.hxx>
|
#include <TColStd_ListOfInteger.hxx>
|
||||||
#include <TColStd_ListIteratorOfListOfInteger.hxx>
|
#include <TColStd_ListIteratorOfListOfInteger.hxx>
|
||||||
|
|
||||||
@ -77,8 +82,8 @@
|
|||||||
|
|
||||||
#include <GEOMAlgo_IndexedDataMapOfIntegerShape.hxx>
|
#include <GEOMAlgo_IndexedDataMapOfIntegerShape.hxx>
|
||||||
#include <GEOMAlgo_IndexedDataMapOfShapeBox.hxx>
|
#include <GEOMAlgo_IndexedDataMapOfShapeBox.hxx>
|
||||||
#include <GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape.hxx> //qft
|
#include <GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape.hxx>
|
||||||
#include <GEOMAlgo_PassKeyShape.hxx>//qft
|
#include <GEOMAlgo_PassKeyShape.hxx>
|
||||||
#include <GEOMAlgo_Tools.hxx>
|
#include <GEOMAlgo_Tools.hxx>
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -179,11 +184,9 @@ void GEOMAlgo_Gluer::MakeVertices()
|
|||||||
{
|
{
|
||||||
myErrorStatus=0;
|
myErrorStatus=0;
|
||||||
//
|
//
|
||||||
Standard_Integer j, i, aNbV, aIndex, aNbVSD;
|
Standard_Integer j, i, aNbV, aNbVSD;
|
||||||
TColStd_ListIteratorOfListOfInteger aIt;
|
TColStd_ListIteratorOfListOfInteger aIt;
|
||||||
Handle(Bnd_HArray1OfBox) aHAB;
|
TopoDS_Shape aVF;
|
||||||
Bnd_BoundSortBox aBSB;
|
|
||||||
TopoDS_Shape aSTmp, aVF;
|
|
||||||
TopoDS_Vertex aVnew;
|
TopoDS_Vertex aVnew;
|
||||||
TopTools_IndexedMapOfShape aMV, aMVProcessed;
|
TopTools_IndexedMapOfShape aMV, aMVProcessed;
|
||||||
TopTools_ListIteratorOfListOfShape aItS;
|
TopTools_ListIteratorOfListOfShape aItS;
|
||||||
@ -192,6 +195,11 @@ void GEOMAlgo_Gluer::MakeVertices()
|
|||||||
GEOMAlgo_IndexedDataMapOfIntegerShape aMIS;
|
GEOMAlgo_IndexedDataMapOfIntegerShape aMIS;
|
||||||
GEOMAlgo_IndexedDataMapOfShapeBox aMSB;
|
GEOMAlgo_IndexedDataMapOfShapeBox aMSB;
|
||||||
//
|
//
|
||||||
|
NMTDS_BoxBndTreeSelector aSelector;
|
||||||
|
NMTDS_BoxBndTree aBBTree;
|
||||||
|
NCollection_UBTreeFiller <Standard_Integer, Bnd_Box> aTreeFiller(aBBTree);
|
||||||
|
//
|
||||||
|
//
|
||||||
TopExp::MapShapes(myShape, TopAbs_VERTEX, aMV);
|
TopExp::MapShapes(myShape, TopAbs_VERTEX, aMV);
|
||||||
aNbV=aMV.Extent();
|
aNbV=aMV.Extent();
|
||||||
if (!aNbV) {
|
if (!aNbV) {
|
||||||
@ -199,21 +207,23 @@ void GEOMAlgo_Gluer::MakeVertices()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
aHAB=new Bnd_HArray1OfBox(1, aNbV);
|
|
||||||
//
|
|
||||||
for (i=1; i<=aNbV; ++i) {
|
for (i=1; i<=aNbV; ++i) {
|
||||||
const TopoDS_Shape& aV=aMV(i);
|
const TopoDS_Shape& aV=aMV(i);
|
||||||
Bnd_Box aBox;
|
Bnd_Box aBox;
|
||||||
//
|
//
|
||||||
aBox.SetGap(myTol);
|
aBox.SetGap(myTol);
|
||||||
BRepBndLib::Add(aV, aBox);
|
BRepBndLib::Add(aV, aBox);
|
||||||
aHAB->SetValue(i, aBox);
|
//
|
||||||
|
aTreeFiller.Add(i, aBox);
|
||||||
|
//
|
||||||
aMIS.Add(i, aV);
|
aMIS.Add(i, aV);
|
||||||
aMSB.Add(aV, aBox);
|
aMSB.Add(aV, aBox);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
aBSB.Initialize(aHAB);
|
aTreeFiller.Fill();
|
||||||
//
|
//
|
||||||
|
//------------------------------
|
||||||
|
// Chains
|
||||||
for (i=1; i<=aNbV; ++i) {
|
for (i=1; i<=aNbV; ++i) {
|
||||||
const TopoDS_Shape& aV=aMV(i);
|
const TopoDS_Shape& aV=aMV(i);
|
||||||
//
|
//
|
||||||
@ -221,31 +231,86 @@ void GEOMAlgo_Gluer::MakeVertices()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
const Bnd_Box& aBoxV=aMSB.FindFromKey(aV);
|
Standard_Integer aNbIP, aIP, aNbIP1, aIP1;
|
||||||
const TColStd_ListOfInteger& aLI=aBSB.Compare(aBoxV);
|
|
||||||
aNbVSD=aLI.Extent();
|
|
||||||
if (!aNbVSD) {
|
|
||||||
myErrorStatus=3; // it must not be
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//
|
|
||||||
// Images
|
|
||||||
//
|
|
||||||
TopTools_ListOfShape aLVSD;
|
TopTools_ListOfShape aLVSD;
|
||||||
|
TColStd_MapOfInteger aMIP, aMIP1, aMIPC;
|
||||||
|
TColStd_MapIteratorOfMapOfInteger aIt1;
|
||||||
//
|
//
|
||||||
aIt.Initialize(aLI);
|
aMIP.Add(i);
|
||||||
for (j=0; aIt.More(); aIt.Next(), ++j) {
|
while(1) {
|
||||||
aIndex=aIt.Value();
|
aNbIP=aMIP.Extent();
|
||||||
const TopoDS_Shape& aVx=aMIS.FindFromKey(aIndex);
|
aIt1.Initialize(aMIP);
|
||||||
if(!j) {
|
for(; aIt1.More(); aIt1.Next()) {
|
||||||
aVF=aVx;
|
aIP=aIt1.Key();
|
||||||
|
if (aMIPC.Contains(aIP)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const TopoDS_Shape& aVP=aMIS.FindFromKey(aIP);
|
||||||
|
const Bnd_Box& aBoxVP=aMSB.FindFromKey(aVP);
|
||||||
|
//
|
||||||
|
aSelector.Clear();
|
||||||
|
aSelector.SetBox(aBoxVP);
|
||||||
|
//
|
||||||
|
aNbVSD=aBBTree.Select(aSelector);
|
||||||
|
if (!aNbVSD) {
|
||||||
|
continue; // it must not be
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const TColStd_ListOfInteger& aLI=aSelector.Indices();
|
||||||
|
aIt.Initialize(aLI);
|
||||||
|
for (; aIt.More(); aIt.Next()) {
|
||||||
|
aIP1=aIt.Value();
|
||||||
|
if (aMIP.Contains(aIP1)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
aMIP1.Add(aIP1);
|
||||||
|
} //for (; aIt.More(); aIt.Next()) {
|
||||||
|
}//for(; aIt1.More(); aIt1.Next()) {
|
||||||
|
//
|
||||||
|
aNbIP1=aMIP1.Extent();
|
||||||
|
if (!aNbIP1) {
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
aLVSD.Append(aVx);
|
//
|
||||||
aMVProcessed.Add(aVx);
|
aIt1.Initialize(aMIP);
|
||||||
}
|
for(; aIt1.More(); aIt1.Next()) {
|
||||||
|
aIP=aIt1.Key();
|
||||||
|
aMIPC.Add(aIP);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aMIP.Clear();
|
||||||
|
aIt1.Initialize(aMIP1);
|
||||||
|
for(; aIt1.More(); aIt1.Next()) {
|
||||||
|
aIP=aIt1.Key();
|
||||||
|
aMIP.Add(aIP);
|
||||||
|
}
|
||||||
|
aMIP1.Clear();
|
||||||
|
}// while(1)
|
||||||
//
|
//
|
||||||
|
// Fill myImages
|
||||||
|
aNbIP=aMIPC.Extent();
|
||||||
|
//
|
||||||
|
if (!aNbIP) {// no SD vertices founded
|
||||||
|
aVF=aV;
|
||||||
|
aLVSD.Append(aV);
|
||||||
|
aMVProcessed.Add(aV);
|
||||||
|
}
|
||||||
|
else { // SD vertices founded [ aMIPC ]
|
||||||
|
aIt1.Initialize(aMIPC);
|
||||||
|
for(j=0; aIt1.More(); aIt1.Next(), ++j) {
|
||||||
|
aIP=aIt1.Key();
|
||||||
|
const TopoDS_Shape& aVP=aMIS.FindFromKey(aIP);
|
||||||
|
if (!j) {
|
||||||
|
aVF=aVP;
|
||||||
|
}
|
||||||
|
aLVSD.Append(aVP);
|
||||||
|
aMVProcessed.Add(aVP);
|
||||||
|
}
|
||||||
|
}
|
||||||
myImages.Bind(aVF, aLVSD);
|
myImages.Bind(aVF, aLVSD);
|
||||||
}
|
}// for (i=1; i<=aNbV; ++i) {
|
||||||
|
//------------------------------
|
||||||
//
|
//
|
||||||
// Make new vertices
|
// Make new vertices
|
||||||
aMV.Clear();
|
aMV.Clear();
|
||||||
@ -281,7 +346,6 @@ void GEOMAlgo_Gluer::MakeVertices()
|
|||||||
for (; aItIm.More(); aItIm.Next()) {
|
for (; aItIm.More(); aItIm.Next()) {
|
||||||
const TopoDS_Shape& aV=aItIm.Key();
|
const TopoDS_Shape& aV=aItIm.Key();
|
||||||
const TopTools_ListOfShape& aLVSD=aItIm.Value();
|
const TopTools_ListOfShape& aLVSD=aItIm.Value();
|
||||||
//
|
|
||||||
aItS.Initialize(aLVSD);
|
aItS.Initialize(aLVSD);
|
||||||
for (; aItS.More(); aItS.Next()) {
|
for (; aItS.More(); aItS.Next()) {
|
||||||
const TopoDS_Shape& aVSD=aItS.Value();
|
const TopoDS_Shape& aVSD=aItS.Value();
|
||||||
@ -424,8 +488,8 @@ void GEOMAlgo_Gluer::MakeShapes(const TopAbs_ShapeEnum aType)
|
|||||||
TopoDS_Shape aNewShape;
|
TopoDS_Shape aNewShape;
|
||||||
TopTools_IndexedMapOfShape aMF;
|
TopTools_IndexedMapOfShape aMF;
|
||||||
TopTools_ListIteratorOfListOfShape aItS;
|
TopTools_ListIteratorOfListOfShape aItS;
|
||||||
GEOMAlgo_PassKeyShape aPKF;//qft
|
GEOMAlgo_PassKeyShape aPKF;
|
||||||
GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape aMPKLF;//qft
|
GEOMAlgo_IndexedDataMapOfPassKeyShapeListOfShape aMPKLF;
|
||||||
//
|
//
|
||||||
TopExp::MapShapes(myShape, aType, aMF);
|
TopExp::MapShapes(myShape, aType, aMF);
|
||||||
//
|
//
|
||||||
@ -433,7 +497,6 @@ void GEOMAlgo_Gluer::MakeShapes(const TopAbs_ShapeEnum aType)
|
|||||||
for (i=1; i<=aNbF; ++i) {
|
for (i=1; i<=aNbF; ++i) {
|
||||||
const TopoDS_Shape& aS=aMF(i);
|
const TopoDS_Shape& aS=aMF(i);
|
||||||
//
|
//
|
||||||
//aPKF.Clear();//qft
|
|
||||||
if (aType==TopAbs_FACE) {
|
if (aType==TopAbs_FACE) {
|
||||||
const TopoDS_Face& aF=TopoDS::Face(aS);
|
const TopoDS_Face& aF=TopoDS::Face(aS);
|
||||||
FacePassKey(aF, aPKF);
|
FacePassKey(aF, aPKF);
|
||||||
@ -622,21 +685,12 @@ void GEOMAlgo_Gluer::InnerTolerance()
|
|||||||
void GEOMAlgo_Gluer::FacePassKey(const TopoDS_Face& aF,
|
void GEOMAlgo_Gluer::FacePassKey(const TopoDS_Face& aF,
|
||||||
GEOMAlgo_PassKeyShape& aPK)
|
GEOMAlgo_PassKeyShape& aPK)
|
||||||
{
|
{
|
||||||
Standard_Integer i, aNbE;//, aNbMax;//qft
|
Standard_Integer i, aNbE;
|
||||||
TopTools_ListOfShape aLE;
|
TopTools_ListOfShape aLE;
|
||||||
TopTools_IndexedMapOfShape aME;
|
TopTools_IndexedMapOfShape aME;
|
||||||
//
|
//
|
||||||
TopExp::MapShapes(aF, TopAbs_EDGE, aME);
|
TopExp::MapShapes(aF, TopAbs_EDGE, aME);
|
||||||
aNbE=aME.Extent();
|
aNbE=aME.Extent();
|
||||||
//qf
|
|
||||||
/*
|
|
||||||
aNbMax=aPK.NbMax();
|
|
||||||
if (!aNbE || aNbE>aNbMax) {
|
|
||||||
myErrorStatus=101; // temprorary
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
//qt
|
|
||||||
//
|
//
|
||||||
for (i=1; i<=aNbE; ++i) {
|
for (i=1; i<=aNbE; ++i) {
|
||||||
const TopoDS_Shape& aE=aME(i);
|
const TopoDS_Shape& aE=aME(i);
|
||||||
@ -647,10 +701,7 @@ void GEOMAlgo_Gluer::FacePassKey(const TopoDS_Face& aF,
|
|||||||
const TopoDS_Shape& aER=myOrigins.Find(aE);
|
const TopoDS_Shape& aER=myOrigins.Find(aE);
|
||||||
aLE.Append(aER);
|
aLE.Append(aER);
|
||||||
}
|
}
|
||||||
//qf
|
|
||||||
//aPK.SetIds(aLE);
|
|
||||||
aPK.SetShapes(aLE);
|
aPK.SetShapes(aLE);
|
||||||
//qt
|
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : EdgePassKey
|
//function : EdgePassKey
|
||||||
@ -669,10 +720,7 @@ void GEOMAlgo_Gluer::EdgePassKey(const TopoDS_Edge& aE,
|
|||||||
}
|
}
|
||||||
const TopoDS_Shape& aVR1=myOrigins.Find(aV1);
|
const TopoDS_Shape& aVR1=myOrigins.Find(aV1);
|
||||||
const TopoDS_Shape& aVR2=myOrigins.Find(aV2);
|
const TopoDS_Shape& aVR2=myOrigins.Find(aV2);
|
||||||
//qf
|
|
||||||
//aPK.SetIds(aVR1, aVR2);
|
|
||||||
aPK.SetShapes(aVR1, aVR2);
|
aPK.SetShapes(aVR1, aVR2);
|
||||||
//qt
|
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : MakeVertex
|
//function : MakeVertex
|
||||||
@ -774,7 +822,6 @@ void GEOMAlgo_Gluer::MakeEdge(const TopoDS_Edge& aE,
|
|||||||
BOPTools_Tools::MakeSplitEdge(aEx, aVR1, aT1, aVR2, aT2, aNewEdge);
|
BOPTools_Tools::MakeSplitEdge(aEx, aVR1, aT1, aVR2, aT2, aNewEdge);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : MakeFace
|
//function : MakeFace
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -834,15 +881,13 @@ void GEOMAlgo_Gluer::MakeFace(const TopoDS_Face& aF,
|
|||||||
//
|
//
|
||||||
aBB.Add(newWire, aER);
|
aBB.Add(newWire, aER);
|
||||||
}
|
}
|
||||||
//modified by NIZNHY-PKV Mon Jan 31 17:26:36 2005f
|
// xf
|
||||||
//
|
|
||||||
TopTools_ListOfShape aLW;
|
TopTools_ListOfShape aLW;
|
||||||
//
|
//
|
||||||
aLW.Append(aW);
|
aLW.Append(aW);
|
||||||
myImages.Bind(newWire, aLW);
|
myImages.Bind(newWire, aLW);
|
||||||
myOrigins.Bind(aW, newWire);
|
myOrigins.Bind(aW, newWire);
|
||||||
//
|
// xt
|
||||||
//modified by NIZNHY-PKV Mon Jan 31 17:26:41 2005 t
|
|
||||||
aBB.Add(newFace, newWire);
|
aBB.Add(newFace, newWire);
|
||||||
}
|
}
|
||||||
aNewFace=newFace;
|
aNewFace=newFace;
|
||||||
@ -963,10 +1008,10 @@ const TopTools_ListOfShape& GEOMAlgo_Gluer::Modified (const TopoDS_Shape& aS)
|
|||||||
aType=aS.ShapeType();
|
aType=aS.ShapeType();
|
||||||
if (aType==TopAbs_VERTEX ||
|
if (aType==TopAbs_VERTEX ||
|
||||||
aType==TopAbs_EDGE ||
|
aType==TopAbs_EDGE ||
|
||||||
aType==TopAbs_WIRE || //modified by NIZNHY-PKV Mon Jan 31 17:18:36 2005ft
|
aType==TopAbs_WIRE ||
|
||||||
aType==TopAbs_FACE ||
|
aType==TopAbs_FACE ||
|
||||||
aType==TopAbs_SHELL || //modified by NIZNHY-PKV Mon Jan 31 17:18:36 2005ft
|
aType==TopAbs_SHELL ||
|
||||||
aType==TopAbs_SOLID) { //modified by NIZNHY-PKV Mon Jan 31 17:18:36 2005ft
|
aType==TopAbs_SOLID) {
|
||||||
if(myOrigins.IsBound(aS)) {
|
if(myOrigins.IsBound(aS)) {
|
||||||
const TopoDS_Shape& aSnew=myOrigins.Find(aS);
|
const TopoDS_Shape& aSnew=myOrigins.Find(aS);
|
||||||
if (!aSnew.IsSame(aS)) {
|
if (!aSnew.IsSame(aS)) {
|
||||||
|
71
src/GEOMAlgo/GEOMAlgo_Gluer1.cdl
Executable file
@ -0,0 +1,71 @@
|
|||||||
|
-- Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
--
|
||||||
|
-- This library is free software; you can redistribute it and/or
|
||||||
|
-- modify it under the terms of the GNU Lesser General Public
|
||||||
|
-- License as published by the Free Software Foundation; either
|
||||||
|
-- version 2.1 of the License.
|
||||||
|
--
|
||||||
|
-- This library is distributed in the hope that it will be useful
|
||||||
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
-- Lesser General Public License for more details.
|
||||||
|
--
|
||||||
|
-- You should have received a copy of the GNU Lesser General Public
|
||||||
|
-- License along with this library; if not, write to the Free Software
|
||||||
|
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--
|
||||||
|
-- See http:--www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
--
|
||||||
|
-- File: GEOMAlgo_Gluer1.cdl
|
||||||
|
-- Created: Wed Jan 24 11:37:31 2007
|
||||||
|
-- Author: Peter KURNEV
|
||||||
|
-- <pkv@irinox>
|
||||||
|
|
||||||
|
|
||||||
|
class Gluer1 from GEOMAlgo
|
||||||
|
inherits Gluer from GEOMAlgo
|
||||||
|
|
||||||
|
---Purpose:
|
||||||
|
|
||||||
|
uses
|
||||||
|
ListOfCoupleOfShapes from GEOMAlgo,
|
||||||
|
DataMapOfPassKeyShapeShape from GEOMAlgo
|
||||||
|
|
||||||
|
--raises
|
||||||
|
|
||||||
|
is
|
||||||
|
Create
|
||||||
|
returns Gluer1 from GEOMAlgo;
|
||||||
|
---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_Gluer1();"
|
||||||
|
|
||||||
|
SetFacesToUnglue(me:out;
|
||||||
|
aLCS:ListOfCoupleOfShapes from GEOMAlgo);
|
||||||
|
|
||||||
|
FacesToUnglue(me)
|
||||||
|
returns ListOfCoupleOfShapes from GEOMAlgo;
|
||||||
|
---C++: return const&
|
||||||
|
|
||||||
|
GluedFaces(me)
|
||||||
|
returns ListOfCoupleOfShapes from GEOMAlgo;
|
||||||
|
---C++: return const&
|
||||||
|
|
||||||
|
RejectedFaces(me)
|
||||||
|
returns ListOfCoupleOfShapes from GEOMAlgo;
|
||||||
|
---C++: return const&
|
||||||
|
|
||||||
|
Perform(me:out)
|
||||||
|
is redefined;
|
||||||
|
|
||||||
|
UnglueFaces(me:out);
|
||||||
|
|
||||||
|
FillGluedFaces(me:out)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
fields
|
||||||
|
myGluedFaces :ListOfCoupleOfShapes from GEOMAlgo is protected;
|
||||||
|
myFacesToUnglue :ListOfCoupleOfShapes from GEOMAlgo is protected;
|
||||||
|
myRejectedFaces :ListOfCoupleOfShapes from GEOMAlgo is protected;
|
||||||
|
myMapGN :DataMapOfPassKeyShapeShape from GEOMAlgo is protected;
|
||||||
|
|
||||||
|
end Gluer1;
|
542
src/GEOMAlgo/GEOMAlgo_Gluer1.cxx
Executable file
@ -0,0 +1,542 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
//
|
||||||
|
// File: GEOMAlgo_Gluer1.cxx
|
||||||
|
// Created: Wed Jan 24 11:52:27 2007
|
||||||
|
// Author: Peter KURNEV
|
||||||
|
// <pkv@irinox>
|
||||||
|
|
||||||
|
|
||||||
|
#include <GEOMAlgo_Gluer1.ixx>
|
||||||
|
|
||||||
|
#include <Geom_Surface.hxx>
|
||||||
|
|
||||||
|
#include <TopLoc_Location.hxx>
|
||||||
|
|
||||||
|
#include <TopoDS.hxx>
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#include <TopoDS_Face.hxx>
|
||||||
|
#include <TopoDS_Iterator.hxx>
|
||||||
|
|
||||||
|
#include <BRep_Builder.hxx>
|
||||||
|
#include <BRep_Tool.hxx>
|
||||||
|
|
||||||
|
#include <TopExp.hxx>
|
||||||
|
|
||||||
|
#include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
|
||||||
|
#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
|
||||||
|
#include <TopTools_ListOfShape.hxx>
|
||||||
|
#include <TopTools_ListIteratorOfListOfShape.hxx>
|
||||||
|
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
|
||||||
|
#include <TopTools_MapOfShape.hxx>
|
||||||
|
#include <TopTools_MapOfShape.hxx>
|
||||||
|
#include <TopTools_DataMapOfShapeShape.hxx>
|
||||||
|
|
||||||
|
#include <GEOMAlgo_CoupleOfShapes.hxx>
|
||||||
|
#include <GEOMAlgo_PassKeyShape.hxx>
|
||||||
|
#include <GEOMAlgo_ListIteratorOfListOfCoupleOfShapes.hxx>
|
||||||
|
#include <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#include <GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape.hxx>
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//class : GEOMAlgo_CoupleOfInteger
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
class GEOMAlgo_CoupleOfInteger {
|
||||||
|
//
|
||||||
|
public:
|
||||||
|
//
|
||||||
|
GEOMAlgo_CoupleOfInteger() {
|
||||||
|
myInt1=0;
|
||||||
|
myInt2=0;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
~GEOMAlgo_CoupleOfInteger() {
|
||||||
|
}
|
||||||
|
//
|
||||||
|
void SetValues(const Standard_Integer aI1,
|
||||||
|
const Standard_Integer aI2) {
|
||||||
|
myInt1=aI1;
|
||||||
|
myInt2=aI2;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
void SetValue1(const Standard_Integer aI1) {
|
||||||
|
myInt1=aI1;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
void SetValue2(const Standard_Integer aI1) {
|
||||||
|
myInt1=aI1;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
void Values(Standard_Integer& aI1,
|
||||||
|
Standard_Integer& aI2) const {
|
||||||
|
aI1=myInt1;
|
||||||
|
aI2=myInt2;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
Standard_Integer Value1()const {
|
||||||
|
return myInt1;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
Standard_Integer Value2()const {
|
||||||
|
return myInt2;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
protected:
|
||||||
|
Standard_Integer myInt1;
|
||||||
|
Standard_Integer myInt2;
|
||||||
|
};
|
||||||
|
//
|
||||||
|
//=======================================================================
|
||||||
|
//
|
||||||
|
static
|
||||||
|
void SortShell(const Standard_Integer ,
|
||||||
|
GEOMAlgo_CoupleOfInteger* );
|
||||||
|
static
|
||||||
|
void RefineSolid(const TopoDS_Shape& ,
|
||||||
|
const TopTools_DataMapOfShapeShape& ,
|
||||||
|
TopTools_DataMapOfShapeShape& );
|
||||||
|
static
|
||||||
|
void MakeFaceToReplace(const TopoDS_Face& ,
|
||||||
|
TopoDS_Face& );
|
||||||
|
//
|
||||||
|
//=======================================================================
|
||||||
|
//function : GEOMAlgo_Gluer1
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_Gluer1::GEOMAlgo_Gluer1()
|
||||||
|
:
|
||||||
|
GEOMAlgo_Gluer()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function :
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_Gluer1::~GEOMAlgo_Gluer1()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetFacesToUnglue
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_Gluer1::SetFacesToUnglue(const GEOMAlgo_ListOfCoupleOfShapes& aLCS)
|
||||||
|
{
|
||||||
|
myFacesToUnglue=aLCS;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FacesToUnglue
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const GEOMAlgo_ListOfCoupleOfShapes& GEOMAlgo_Gluer1::FacesToUnglue()const
|
||||||
|
{
|
||||||
|
return myFacesToUnglue;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : GluedFaces
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const GEOMAlgo_ListOfCoupleOfShapes& GEOMAlgo_Gluer1::GluedFaces()const
|
||||||
|
{
|
||||||
|
return myGluedFaces;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : RejectedFaces
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const GEOMAlgo_ListOfCoupleOfShapes& GEOMAlgo_Gluer1::RejectedFaces()const
|
||||||
|
{
|
||||||
|
return myRejectedFaces;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Perform
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_Gluer1::Perform()
|
||||||
|
{
|
||||||
|
// 1.
|
||||||
|
GEOMAlgo_Gluer::Perform();
|
||||||
|
if (myErrorStatus) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
FillGluedFaces();
|
||||||
|
if (myErrorStatus) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillGluedFaces
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_Gluer1::FillGluedFaces()
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
Standard_Integer aNbIm, aNbS, i;
|
||||||
|
TopAbs_ShapeEnum aType;
|
||||||
|
TopTools_ListIteratorOfListOfShape aItLS;
|
||||||
|
TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItIm;
|
||||||
|
GEOMAlgo_CoupleOfShapes aCS;
|
||||||
|
GEOMAlgo_PassKeyShape aPKS;
|
||||||
|
//
|
||||||
|
myMapGN.Clear();
|
||||||
|
myGluedFaces.Clear();
|
||||||
|
//
|
||||||
|
aNbIm=myImages.Extent();
|
||||||
|
aItIm.Initialize(myImages);
|
||||||
|
for (; aItIm.More(); aItIm.Next()) {
|
||||||
|
const TopoDS_Shape& aSnew=aItIm.Key();
|
||||||
|
aType=aSnew.ShapeType();
|
||||||
|
if (aType!=TopAbs_FACE) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const TopTools_ListOfShape& aLS=aItIm.Value();
|
||||||
|
aNbS=aLS.Extent();
|
||||||
|
if (aNbS!=2) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
TopoDS_Shape aSold[2];
|
||||||
|
aItLS.Initialize(aLS);
|
||||||
|
for (i=0; aItLS.More(); aItLS.Next(), ++i) {
|
||||||
|
const TopoDS_Shape& aSi=aItLS.Value();
|
||||||
|
aSold[i]=aItLS.Value();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aCS.SetShapes(aSold[0], aSold[1]);
|
||||||
|
myGluedFaces.Append(aCS);
|
||||||
|
//
|
||||||
|
aPKS.Clear();
|
||||||
|
aPKS.SetShapes(aSold[0], aSold[1]);
|
||||||
|
myMapGN.Bind(aPKS, aSnew);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : UnglueFaces
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_Gluer1::UnglueFaces()
|
||||||
|
{
|
||||||
|
if (myErrorStatus) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
Standard_Boolean bFound;
|
||||||
|
Standard_Integer i, aNbUN, aNbS, aNbF, iX;
|
||||||
|
TopTools_IndexedDataMapOfShapeListOfShape aMFSR, aMFS, aMSF;
|
||||||
|
TopTools_ListIteratorOfListOfShape aItLS, aItLS1;
|
||||||
|
GEOMAlgo_PassKeyShape aPKS;
|
||||||
|
GEOMAlgo_ListIteratorOfListOfCoupleOfShapes aItCS;
|
||||||
|
GEOMAlgo_DataMapOfPassKeyShapeShape aMapUN;
|
||||||
|
GEOMAlgo_DataMapIteratorOfDataMapOfPassKeyShapeShape aItUN;
|
||||||
|
GEOMAlgo_CoupleOfInteger *pIx;
|
||||||
|
//
|
||||||
|
if (myResult.IsNull()) {
|
||||||
|
myErrorStatus=200; // no result
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
myWarningStatus=0;
|
||||||
|
myRejectedFaces.Clear();
|
||||||
|
//
|
||||||
|
// 0. Fill map [Face]/Solid for myResult: aMFSR
|
||||||
|
TopExp::MapShapesAndAncestors(myResult, TopAbs_FACE, TopAbs_SOLID, aMFSR);
|
||||||
|
//
|
||||||
|
// 1. Fill Faces to process: aMapUN : [Fold1, Fold2] / Fnew
|
||||||
|
aNbUN=myFacesToUnglue.Extent();
|
||||||
|
if (!aNbUN) {
|
||||||
|
// all faces that can be unglued will be unglued
|
||||||
|
aMapUN=myMapGN;
|
||||||
|
myFacesToUnglue=myGluedFaces;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aItCS.Initialize(myFacesToUnglue);
|
||||||
|
for (; aItCS.More(); aItCS.Next()) {
|
||||||
|
const GEOMAlgo_CoupleOfShapes& aCS=aItCS.Value();
|
||||||
|
const TopoDS_Shape& aS1=aCS.Shape1();
|
||||||
|
const TopoDS_Shape& aS2=aCS.Shape2();
|
||||||
|
aPKS.Clear();
|
||||||
|
aPKS.SetShapes(aS1, aS2);
|
||||||
|
if (!myMapGN.IsBound(aPKS)) {
|
||||||
|
//some faces, wanted to unglue, are not glued at all;
|
||||||
|
myWarningStatus=2;
|
||||||
|
myRejectedFaces.Append(aCS);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const TopoDS_Shape& aFN=myMapGN.Find(aPKS);
|
||||||
|
aMapUN.Bind(aPKS, aFN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 2 Fill map FN/Solids for myResult: aMFS
|
||||||
|
aNbUN=aMapUN.Extent();
|
||||||
|
aItUN.Initialize(aMapUN);
|
||||||
|
for (; aItUN.More(); aItUN.Next()) {
|
||||||
|
const TopoDS_Shape& aFN=aItUN.Value();
|
||||||
|
if (!aMFSR.Contains(aFN)) {
|
||||||
|
myWarningStatus=3; // how can it be
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const TopTools_ListOfShape& aLS=aMFSR.FindFromKey(aFN);
|
||||||
|
aNbS=aLS.Extent();
|
||||||
|
if (aNbS!=2) {
|
||||||
|
// wrong result: More than 2 solids shared one face
|
||||||
|
myWarningStatus=4;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
aMFS.Add(aFN, aLS);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 3 Fill map Solids/FN for myResult: aMSF
|
||||||
|
aNbUN=aMFS.Extent();
|
||||||
|
for (i=1; i<=aNbUN; ++i) {
|
||||||
|
const TopoDS_Shape& aFN=aMFS.FindKey(i);
|
||||||
|
const TopTools_ListOfShape& aLS=aMFS(i);
|
||||||
|
aItLS.Initialize(aLS);
|
||||||
|
for (; aItLS.More(); aItLS.Next()) {
|
||||||
|
const TopoDS_Shape& aS=aItLS.Value();
|
||||||
|
if (aMSF.Contains(aS)) {
|
||||||
|
TopTools_ListOfShape& aLF=aMSF.ChangeFromKey(aS);
|
||||||
|
aLF.Append(aFN);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
TopTools_ListOfShape aLF;
|
||||||
|
aLF.Append(aFN);
|
||||||
|
aMSF.Add(aS, aLF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 4 Sort indices of aMSF
|
||||||
|
aNbS=aMSF.Extent();
|
||||||
|
if (aNbS<2) {
|
||||||
|
// wrong number of solids that have shared face
|
||||||
|
myWarningStatus=5;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
pIx=new GEOMAlgo_CoupleOfInteger[aNbS];
|
||||||
|
//
|
||||||
|
for (i=1; i<=aNbS; ++i) {
|
||||||
|
const TopTools_ListOfShape& aLF=aMSF(i);
|
||||||
|
aNbF=aLF.Extent();
|
||||||
|
pIx[i-1].SetValues(aNbF, i);
|
||||||
|
}
|
||||||
|
SortShell(aNbS, pIx);
|
||||||
|
//
|
||||||
|
// 5 Refine solids
|
||||||
|
//
|
||||||
|
TopTools_DataMapOfShapeShape aMFNFN2, aMFNFD;
|
||||||
|
TopTools_DataMapIteratorOfDataMapOfShapeShape aItMSS;
|
||||||
|
TopTools_MapOfShape aMFNP;
|
||||||
|
TopTools_IndexedMapOfShape aMFD;
|
||||||
|
//
|
||||||
|
for (iX=aNbS-1; iX>=0; --iX) {
|
||||||
|
i=pIx[iX].Value2();
|
||||||
|
// solid from myResult aSN
|
||||||
|
const TopoDS_Shape& aSN=aMSF.FindKey(i);
|
||||||
|
//
|
||||||
|
// candidates to be faces to replace for aSN
|
||||||
|
const TopTools_ListOfShape& aLFN=aMSF(i);
|
||||||
|
aNbF=aLFN.Extent();
|
||||||
|
//
|
||||||
|
// original solid for aSN -> aSD
|
||||||
|
const TopTools_ListOfShape& aLSD=myImages.Find(aSN);
|
||||||
|
const TopoDS_Shape& aSD=aLSD.First();
|
||||||
|
//
|
||||||
|
// faces of original solid -> aMFD
|
||||||
|
aMFD.Clear();
|
||||||
|
TopExp::MapShapes(aSD, TopAbs_FACE, aMFD);
|
||||||
|
//
|
||||||
|
// faces to replace for aSN [FN]/FD -> aMFNFD
|
||||||
|
aMFNFD.Clear();
|
||||||
|
aItLS.Initialize(aLFN);
|
||||||
|
for (; aItLS.More(); aItLS.Next()) {
|
||||||
|
const TopoDS_Shape& aFN=aItLS.Value();
|
||||||
|
if (!aMFNP.Add(aFN)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// original face from original solid -> FD
|
||||||
|
TopoDS_Shape aFD;
|
||||||
|
//
|
||||||
|
bFound=Standard_False;
|
||||||
|
const TopTools_ListOfShape& aLFD=myImages.Find(aFN);
|
||||||
|
aItLS1.Initialize(aLFD);
|
||||||
|
for (; aItLS1.More(); aItLS1.Next()) {
|
||||||
|
const TopoDS_Shape& aFDx=aItLS1.Value();
|
||||||
|
if (aMFD.Contains(aFDx)) {
|
||||||
|
aFD=aFDx;
|
||||||
|
bFound=Standard_True;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//if (!bFound) {...}
|
||||||
|
aMFNFD.Bind(aFN, aFD);
|
||||||
|
} // for (; aItLS.More(); aItLS.Next()) {
|
||||||
|
//
|
||||||
|
aNbF=aMFNFD.Extent();
|
||||||
|
if (!aNbF) {
|
||||||
|
// nothing to do here
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// update solid SN (and its shells)
|
||||||
|
RefineSolid(aSN, aMFNFD, aMFNFN2);
|
||||||
|
//
|
||||||
|
// update myOrigins / myImages
|
||||||
|
aItMSS.Initialize(aMFNFD);
|
||||||
|
for (; aItMSS.More(); aItMSS.Next()) {
|
||||||
|
const TopoDS_Shape& aFN=aItMSS.Key(); // face removed from aSN
|
||||||
|
const TopoDS_Shape& aFD=aItMSS.Value(); // old face from aSD
|
||||||
|
const TopoDS_Shape& aFN2=aMFNFN2.Find(aFN);// face added to aSN
|
||||||
|
//
|
||||||
|
// myOrigins
|
||||||
|
myOrigins.ChangeFind(aFD)=aFN2;
|
||||||
|
//
|
||||||
|
// myImages
|
||||||
|
TopTools_ListOfShape aLFDx;
|
||||||
|
//
|
||||||
|
TopTools_ListOfShape& aLFD=myImages.ChangeFind(aFN);
|
||||||
|
aItLS.Initialize(aLFD);
|
||||||
|
for (; aItLS.More(); aItLS.Next()) {
|
||||||
|
const TopoDS_Shape& aFDx=aItLS.Value();
|
||||||
|
if (!aFDx.IsSame(aFD)) {
|
||||||
|
aLFDx.Append(aFDx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
aLFD=aLFDx;
|
||||||
|
//
|
||||||
|
aLFDx.Clear();
|
||||||
|
aLFDx.Append(aFD);
|
||||||
|
myImages.Bind(aFN2, aLFDx);
|
||||||
|
} // for (; aItMSS.More(); aItMSS.Next()) {
|
||||||
|
} // for (iX=aNbS-1; iX>=0; --iX) {
|
||||||
|
//
|
||||||
|
delete [] pIx;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
// function: RefineSolid
|
||||||
|
// purpose : replace faces (aMFN) of solid aSd by new ones
|
||||||
|
//=======================================================================
|
||||||
|
void RefineSolid(const TopoDS_Shape& aSd,
|
||||||
|
const TopTools_DataMapOfShapeShape& aMFNFD,
|
||||||
|
TopTools_DataMapOfShapeShape& aMFNFN2)
|
||||||
|
{
|
||||||
|
TopoDS_Shape *pSh;
|
||||||
|
TopoDS_Face aF2;
|
||||||
|
TopoDS_Iterator aItSd, aItSh;
|
||||||
|
BRep_Builder aBB;
|
||||||
|
TopTools_ListOfShape aLF;
|
||||||
|
TopTools_ListIteratorOfListOfShape aItLF;
|
||||||
|
//
|
||||||
|
aItSd.Initialize(aSd);
|
||||||
|
for (; aItSd.More(); aItSd.Next()) {
|
||||||
|
const TopoDS_Shape& aSh=aItSd.Value();
|
||||||
|
pSh=(TopoDS_Shape *)&aSh;
|
||||||
|
pSh->Free(Standard_True);
|
||||||
|
aLF.Clear();
|
||||||
|
aItSh.Initialize(*pSh);
|
||||||
|
for (; aItSh.More(); aItSh.Next()) {
|
||||||
|
const TopoDS_Shape& aF=aItSh.Value();
|
||||||
|
if (aMFNFD.IsBound(aF)) {
|
||||||
|
aLF.Append(aF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aItLF.Initialize(aLF);
|
||||||
|
for (; aItLF.More(); aItLF.Next()) {
|
||||||
|
const TopoDS_Face& aF=TopoDS::Face(aItLF.Value());
|
||||||
|
//
|
||||||
|
MakeFaceToReplace(aF, aF2);
|
||||||
|
//
|
||||||
|
aMFNFN2.Bind(aF, aF2);
|
||||||
|
aBB.Remove(*pSh, aF);
|
||||||
|
aBB.Add(*pSh, aF2);
|
||||||
|
}
|
||||||
|
pSh->Free(Standard_False);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : MakeFaceToReplace
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void MakeFaceToReplace(const TopoDS_Face& aF,
|
||||||
|
TopoDS_Face& aFR)
|
||||||
|
{
|
||||||
|
Standard_Real aTol;
|
||||||
|
Handle(Geom_Surface) aS;
|
||||||
|
TopLoc_Location aLoc;
|
||||||
|
TopoDS_Face aFFWD, aFnew;
|
||||||
|
TopoDS_Iterator aItF;
|
||||||
|
BRep_Builder aBB;
|
||||||
|
//
|
||||||
|
aFFWD=aF;
|
||||||
|
aFFWD.Orientation(TopAbs_FORWARD);
|
||||||
|
aS=BRep_Tool::Surface(aFFWD, aLoc);
|
||||||
|
aTol=BRep_Tool::Tolerance(aFFWD);
|
||||||
|
//
|
||||||
|
aBB.MakeFace (aFnew, aS, aLoc, aTol);
|
||||||
|
aItF.Initialize(aFFWD);
|
||||||
|
for (; aItF.More(); aItF.Next()) {
|
||||||
|
const TopoDS_Shape& aW=aItF.Value();
|
||||||
|
aBB.Add(aFnew, aW);
|
||||||
|
}
|
||||||
|
aFnew.Orientation(aF.Orientation());
|
||||||
|
aFR=aFnew;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
// function: SortShell
|
||||||
|
// purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void SortShell(const Standard_Integer n,
|
||||||
|
GEOMAlgo_CoupleOfInteger* a)
|
||||||
|
{
|
||||||
|
Standard_Integer nd, i, j, l, d=1;
|
||||||
|
GEOMAlgo_CoupleOfInteger x;
|
||||||
|
//
|
||||||
|
while(d<=n) {
|
||||||
|
d*=2;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
while (d) {
|
||||||
|
d=(d-1)/2;
|
||||||
|
//
|
||||||
|
nd=n-d;
|
||||||
|
for (i=0; i<nd; ++i) {
|
||||||
|
j=i;
|
||||||
|
m30:;
|
||||||
|
l=j+d;
|
||||||
|
if (a[l].Value1() < a[j].Value1()) {
|
||||||
|
x=a[j];
|
||||||
|
a[j]=a[l];
|
||||||
|
a[l]=x;
|
||||||
|
j-=d;
|
||||||
|
if (j > -1) {
|
||||||
|
goto m30;
|
||||||
|
}
|
||||||
|
}//if (a[l] < a[j]){
|
||||||
|
}//for (i=0; i<nd; ++i)
|
||||||
|
}//while (1)
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// ErrorStatus
|
||||||
|
//
|
||||||
|
// 200; - result shape is Null
|
125
src/GEOMAlgo/GEOMAlgo_Gluer1.hxx
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_Gluer1_HeaderFile
|
||||||
|
#define _GEOMAlgo_Gluer1_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_ListOfCoupleOfShapes_HeaderFile
|
||||||
|
#include <GEOMAlgo_ListOfCoupleOfShapes.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_DataMapOfPassKeyShapeShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_DataMapOfPassKeyShapeShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_Gluer_HeaderFile
|
||||||
|
#include <GEOMAlgo_Gluer.hxx>
|
||||||
|
#endif
|
||||||
|
class GEOMAlgo_ListOfCoupleOfShapes;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Macro_HeaderFile
|
||||||
|
#include <Standard_Macro.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_Gluer1 : public GEOMAlgo_Gluer {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void* operator new(size_t,void* anAddress)
|
||||||
|
{
|
||||||
|
return anAddress;
|
||||||
|
}
|
||||||
|
void* operator new(size_t size)
|
||||||
|
{
|
||||||
|
return Standard::Allocate(size);
|
||||||
|
}
|
||||||
|
void operator delete(void *anAddress)
|
||||||
|
{
|
||||||
|
if (anAddress) Standard::Free((Standard_Address&)anAddress);
|
||||||
|
}
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_Gluer1();
|
||||||
|
Standard_EXPORT virtual ~GEOMAlgo_Gluer1();
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetFacesToUnglue(const GEOMAlgo_ListOfCoupleOfShapes& aLCS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const GEOMAlgo_ListOfCoupleOfShapes& FacesToUnglue() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const GEOMAlgo_ListOfCoupleOfShapes& GluedFaces() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const GEOMAlgo_ListOfCoupleOfShapes& RejectedFaces() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT virtual void Perform() ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void UnglueFaces() ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillGluedFaces() ;
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
GEOMAlgo_ListOfCoupleOfShapes myGluedFaces;
|
||||||
|
GEOMAlgo_ListOfCoupleOfShapes myFacesToUnglue;
|
||||||
|
GEOMAlgo_ListOfCoupleOfShapes myRejectedFaces;
|
||||||
|
GEOMAlgo_DataMapOfPassKeyShapeShape myMapGN;
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
24
src/GEOMAlgo/GEOMAlgo_Gluer1.ixx
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#include <GEOMAlgo_Gluer1.jxx>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
25
src/GEOMAlgo/GEOMAlgo_Gluer1.jxx
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_ListOfCoupleOfShapes_HeaderFile
|
||||||
|
#include <GEOMAlgo_ListOfCoupleOfShapes.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_Gluer1_HeaderFile
|
||||||
|
#include <GEOMAlgo_Gluer1.hxx>
|
||||||
|
#endif
|
@ -0,0 +1,139 @@
|
|||||||
|
// File generated by CPPExt (Transient)
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
#define _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
#include <Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Integer_HeaderFile
|
||||||
|
#include <Standard_Integer.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TCollection_MapNodePtr_HeaderFile
|
||||||
|
#include <TCollection_MapNodePtr.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TCollection_MapNode_HeaderFile
|
||||||
|
#include <TCollection_MapNode.hxx>
|
||||||
|
#endif
|
||||||
|
class TopoDS_Shape;
|
||||||
|
class GEOMAlgo_ShapeInfo;
|
||||||
|
class TopTools_ShapeMapHasher;
|
||||||
|
class GEOMAlgo_IndexedDataMapOfShapeShapeInfo;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo : public TCollection_MapNode {
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo(const TopoDS_Shape& K1,const Standard_Integer K2,const GEOMAlgo_ShapeInfo& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2);
|
||||||
|
|
||||||
|
TopoDS_Shape& Key1() const;
|
||||||
|
|
||||||
|
Standard_Integer& Key2() const;
|
||||||
|
|
||||||
|
TCollection_MapNodePtr& Next2() const;
|
||||||
|
|
||||||
|
GEOMAlgo_ShapeInfo& Value() const;
|
||||||
|
//Standard_EXPORT ~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Type management
|
||||||
|
//
|
||||||
|
Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
|
||||||
|
//Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
TopoDS_Shape myKey1;
|
||||||
|
Standard_Integer myKey2;
|
||||||
|
GEOMAlgo_ShapeInfo myValue;
|
||||||
|
TCollection_MapNodePtr myNext2;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#define TheKey TopoDS_Shape
|
||||||
|
#define TheKey_hxx <TopoDS_Shape.hxx>
|
||||||
|
#define TheItem GEOMAlgo_ShapeInfo
|
||||||
|
#define TheItem_hxx <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#define Hasher TopTools_ShapeMapHasher
|
||||||
|
#define Hasher_hxx <TopTools_ShapeMapHasher.hxx>
|
||||||
|
#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMapNode_hxx <GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_Type_()
|
||||||
|
#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMap_hxx <GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
|
||||||
|
#include <TCollection_IndexedDataMapNode.lxx>
|
||||||
|
|
||||||
|
#undef TheKey
|
||||||
|
#undef TheKey_hxx
|
||||||
|
#undef TheItem
|
||||||
|
#undef TheItem_hxx
|
||||||
|
#undef Hasher
|
||||||
|
#undef Hasher_hxx
|
||||||
|
#undef TCollection_IndexedDataMapNode
|
||||||
|
#undef TCollection_IndexedDataMapNode_hxx
|
||||||
|
#undef Handle_TCollection_IndexedDataMapNode
|
||||||
|
#undef TCollection_IndexedDataMapNode_Type_
|
||||||
|
#undef TCollection_IndexedDataMap
|
||||||
|
#undef TCollection_IndexedDataMap_hxx
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,100 @@
|
|||||||
|
// File generated by CPPExt (Transient)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#include <GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
|
||||||
|
#ifndef _Standard_TypeMismatch_HeaderFile
|
||||||
|
#include <Standard_TypeMismatch.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopTools_ShapeMapHasher_HeaderFile
|
||||||
|
#include <TopTools_ShapeMapHasher.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
//GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo::~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo() {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Handle_Standard_Type& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_Type_()
|
||||||
|
{
|
||||||
|
|
||||||
|
static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
|
||||||
|
static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
|
||||||
|
static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
|
||||||
|
|
||||||
|
|
||||||
|
static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
|
||||||
|
static Handle_Standard_Type _aType = new Standard_Type("GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo",
|
||||||
|
sizeof(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo),
|
||||||
|
1,
|
||||||
|
(Standard_Address)_Ancestors,
|
||||||
|
(Standard_Address)NULL);
|
||||||
|
|
||||||
|
return _aType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// DownCast method
|
||||||
|
// allow safe downcasting
|
||||||
|
//
|
||||||
|
const Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo) Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo)::DownCast(const Handle(Standard_Transient)& AnObject)
|
||||||
|
{
|
||||||
|
Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo) _anOtherObject;
|
||||||
|
|
||||||
|
if (!AnObject.IsNull()) {
|
||||||
|
if (AnObject->IsKind(STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo))) {
|
||||||
|
_anOtherObject = Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo)((Handle(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo)&)AnObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return _anOtherObject ;
|
||||||
|
}
|
||||||
|
const Handle(Standard_Type)& GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo::DynamicType() const
|
||||||
|
{
|
||||||
|
return STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo) ;
|
||||||
|
}
|
||||||
|
//Standard_Boolean GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo::IsKind(const Handle(Standard_Type)& AType) const
|
||||||
|
//{
|
||||||
|
// return (STANDARD_TYPE(GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo) == AType || TCollection_MapNode::IsKind(AType));
|
||||||
|
//}
|
||||||
|
//Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo::~Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo() {}
|
||||||
|
#define TheKey TopoDS_Shape
|
||||||
|
#define TheKey_hxx <TopoDS_Shape.hxx>
|
||||||
|
#define TheItem GEOMAlgo_ShapeInfo
|
||||||
|
#define TheItem_hxx <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#define Hasher TopTools_ShapeMapHasher
|
||||||
|
#define Hasher_hxx <TopTools_ShapeMapHasher.hxx>
|
||||||
|
#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMapNode_hxx <GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_Type_()
|
||||||
|
#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMap_hxx <GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#include <TCollection_IndexedDataMapNode.gxx>
|
||||||
|
|
172
src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
// File generated by CPPExt (Value)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
#define _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _TCollection_BasicMap_HeaderFile
|
||||||
|
#include <TCollection_BasicMap.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
#include <Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Integer_HeaderFile
|
||||||
|
#include <Standard_Integer.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Boolean_HeaderFile
|
||||||
|
#include <Standard_Boolean.hxx>
|
||||||
|
#endif
|
||||||
|
class Standard_DomainError;
|
||||||
|
class Standard_OutOfRange;
|
||||||
|
class Standard_NoSuchObject;
|
||||||
|
class TopoDS_Shape;
|
||||||
|
class GEOMAlgo_ShapeInfo;
|
||||||
|
class TopTools_ShapeMapHasher;
|
||||||
|
class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Macro_HeaderFile
|
||||||
|
#include <Standard_Macro.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_IndexedDataMapOfShapeShapeInfo : public TCollection_BasicMap {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void* operator new(size_t,void* anAddress)
|
||||||
|
{
|
||||||
|
return anAddress;
|
||||||
|
}
|
||||||
|
void* operator new(size_t size)
|
||||||
|
{
|
||||||
|
return Standard::Allocate(size);
|
||||||
|
}
|
||||||
|
void operator delete(void *anAddress)
|
||||||
|
{
|
||||||
|
if (anAddress) Standard::Free((Standard_Address&)anAddress);
|
||||||
|
}
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_IndexedDataMapOfShapeShapeInfo(const Standard_Integer NbBuckets = 1);
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_IndexedDataMapOfShapeShapeInfo& Assign(const GEOMAlgo_IndexedDataMapOfShapeShapeInfo& Other) ;
|
||||||
|
GEOMAlgo_IndexedDataMapOfShapeShapeInfo& operator =(const GEOMAlgo_IndexedDataMapOfShapeShapeInfo& Other)
|
||||||
|
{
|
||||||
|
return Assign(Other);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void Clear() ;
|
||||||
|
~GEOMAlgo_IndexedDataMapOfShapeShapeInfo()
|
||||||
|
{
|
||||||
|
Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Integer Add(const TopoDS_Shape& K,const GEOMAlgo_ShapeInfo& I) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void Substitute(const Standard_Integer I,const TopoDS_Shape& K,const GEOMAlgo_ShapeInfo& T) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void RemoveLast() ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Boolean Contains(const TopoDS_Shape& K) const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const TopoDS_Shape& FindKey(const Standard_Integer I) const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const GEOMAlgo_ShapeInfo& FindFromIndex(const Standard_Integer I) const;
|
||||||
|
const GEOMAlgo_ShapeInfo& operator ()(const Standard_Integer I) const
|
||||||
|
{
|
||||||
|
return FindFromIndex(I);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_ShapeInfo& ChangeFromIndex(const Standard_Integer I) ;
|
||||||
|
GEOMAlgo_ShapeInfo& operator ()(const Standard_Integer I)
|
||||||
|
{
|
||||||
|
return ChangeFromIndex(I);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Integer FindIndex(const TopoDS_Shape& K) const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const GEOMAlgo_ShapeInfo& FindFromKey(const TopoDS_Shape& K) const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_ShapeInfo& ChangeFromKey(const TopoDS_Shape& K) ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_IndexedDataMapOfShapeShapeInfo(const GEOMAlgo_IndexedDataMapOfShapeShapeInfo& Other);
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
60
src/GEOMAlgo/GEOMAlgo_IndexedDataMapOfShapeShapeInfo_0.cxx
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
// File generated by CPPExt (Value)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#include <GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
|
||||||
|
#ifndef _Standard_DomainError_HeaderFile
|
||||||
|
#include <Standard_DomainError.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_OutOfRange_HeaderFile
|
||||||
|
#include <Standard_OutOfRange.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_NoSuchObject_HeaderFile
|
||||||
|
#include <Standard_NoSuchObject.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopTools_ShapeMapHasher_HeaderFile
|
||||||
|
#include <TopTools_ShapeMapHasher.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define TheKey TopoDS_Shape
|
||||||
|
#define TheKey_hxx <TopoDS_Shape.hxx>
|
||||||
|
#define TheItem GEOMAlgo_ShapeInfo
|
||||||
|
#define TheItem_hxx <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#define Hasher TopTools_ShapeMapHasher
|
||||||
|
#define Hasher_hxx <TopTools_ShapeMapHasher.hxx>
|
||||||
|
#define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMapNode_hxx <GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_Type_()
|
||||||
|
#define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfShapeShapeInfo
|
||||||
|
#define TCollection_IndexedDataMap_hxx <GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#include <TCollection_IndexedDataMap.gxx>
|
||||||
|
|
37
src/GEOMAlgo/GEOMAlgo_KindOfBounds.hxx
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// File generated by CPPExt (Enum)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_KindOfBounds_HeaderFile
|
||||||
|
#define _GEOMAlgo_KindOfBounds_HeaderFile
|
||||||
|
|
||||||
|
|
||||||
|
enum GEOMAlgo_KindOfBounds {
|
||||||
|
GEOMAlgo_KB_UNKNOWN,
|
||||||
|
GEOMAlgo_KB_TRIMMED,
|
||||||
|
GEOMAlgo_KB_INFINITE
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_PrimitiveTypes_HeaderFile
|
||||||
|
#include <Standard_PrimitiveTypes.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
37
src/GEOMAlgo/GEOMAlgo_KindOfClosed.hxx
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// File generated by CPPExt (Enum)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_KindOfClosed_HeaderFile
|
||||||
|
#define _GEOMAlgo_KindOfClosed_HeaderFile
|
||||||
|
|
||||||
|
|
||||||
|
enum GEOMAlgo_KindOfClosed {
|
||||||
|
GEOMAlgo_KC_UNKNOWN,
|
||||||
|
GEOMAlgo_KC_CLOSED,
|
||||||
|
GEOMAlgo_KC_NOTCLOSED
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_PrimitiveTypes_HeaderFile
|
||||||
|
#include <Standard_PrimitiveTypes.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
54
src/GEOMAlgo/GEOMAlgo_KindOfName.hxx
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
// File generated by CPPExt (Enum)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_KindOfName_HeaderFile
|
||||||
|
#define _GEOMAlgo_KindOfName_HeaderFile
|
||||||
|
|
||||||
|
|
||||||
|
enum GEOMAlgo_KindOfName {
|
||||||
|
GEOMAlgo_KN_UNKNOWN,
|
||||||
|
GEOMAlgo_KN_SPHERE,
|
||||||
|
GEOMAlgo_KN_CYLINDER,
|
||||||
|
GEOMAlgo_KN_TORUS,
|
||||||
|
GEOMAlgo_KN_CONE,
|
||||||
|
GEOMAlgo_KN_ELLIPSE,
|
||||||
|
GEOMAlgo_KN_CIRCLE,
|
||||||
|
GEOMAlgo_KN_PLANE,
|
||||||
|
GEOMAlgo_KN_LINE,
|
||||||
|
GEOMAlgo_KN_BOX,
|
||||||
|
GEOMAlgo_KN_SEGMENT,
|
||||||
|
GEOMAlgo_KN_ARCCIRCLE,
|
||||||
|
GEOMAlgo_KN_POLYGON,
|
||||||
|
GEOMAlgo_KN_POLYHEDRON,
|
||||||
|
GEOMAlgo_KN_DISKCIRCLE,
|
||||||
|
GEOMAlgo_KN_DISKELLIPSE,
|
||||||
|
GEOMAlgo_KN_RECTANGLE,
|
||||||
|
GEOMAlgo_KN_TRIANGLE,
|
||||||
|
GEOMAlgo_KN_QUADRANGLE,
|
||||||
|
GEOMAlgo_KN_ARCELLIPSE
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_PrimitiveTypes_HeaderFile
|
||||||
|
#include <Standard_PrimitiveTypes.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
45
src/GEOMAlgo/GEOMAlgo_KindOfShape.hxx
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
// File generated by CPPExt (Enum)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_KindOfShape_HeaderFile
|
||||||
|
#define _GEOMAlgo_KindOfShape_HeaderFile
|
||||||
|
|
||||||
|
|
||||||
|
enum GEOMAlgo_KindOfShape {
|
||||||
|
GEOMAlgo_KS_UNKNOWN,
|
||||||
|
GEOMAlgo_KS_SPHERE,
|
||||||
|
GEOMAlgo_KS_CYLINDER,
|
||||||
|
GEOMAlgo_KS_BOX,
|
||||||
|
GEOMAlgo_KS_TORUS,
|
||||||
|
GEOMAlgo_KS_CONE,
|
||||||
|
GEOMAlgo_KS_ELLIPSE,
|
||||||
|
GEOMAlgo_KS_PLANE,
|
||||||
|
GEOMAlgo_KS_CIRCLE,
|
||||||
|
GEOMAlgo_KS_LINE,
|
||||||
|
GEOMAlgo_KS_DEGENERATED
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_PrimitiveTypes_HeaderFile
|
||||||
|
#include <Standard_PrimitiveTypes.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
190
src/GEOMAlgo/GEOMAlgo_ShapeInfo.cdl
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
-- File: GEOMAlgo_ShapeInfo.cdl
|
||||||
|
-- Created: Mon Apr 2 14:04:24 2007
|
||||||
|
-- Author: Peter KURNEV
|
||||||
|
-- <pkv@irinox>
|
||||||
|
---Copyright: Matra Datavision 2007
|
||||||
|
|
||||||
|
|
||||||
|
class ShapeInfo from GEOMAlgo
|
||||||
|
|
||||||
|
---Purpose:
|
||||||
|
|
||||||
|
uses
|
||||||
|
Pnt from gp,
|
||||||
|
Dir from gp,
|
||||||
|
Ax2 from gp,
|
||||||
|
Ax3 from gp,
|
||||||
|
|
||||||
|
ShapeEnum from TopAbs,
|
||||||
|
Shape from TopoDS,
|
||||||
|
|
||||||
|
KindOfShape from GEOMAlgo,
|
||||||
|
KindOfBounds from GEOMAlgo,
|
||||||
|
KindOfClosed from GEOMAlgo,
|
||||||
|
KindOfName from GEOMAlgo
|
||||||
|
--raises
|
||||||
|
|
||||||
|
is
|
||||||
|
Create
|
||||||
|
returns ShapeInfo from GEOMAlgo;
|
||||||
|
---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_ShapeInfo();"
|
||||||
|
|
||||||
|
Reset(me:out);
|
||||||
|
|
||||||
|
SetType(me:out;
|
||||||
|
aType:ShapeEnum from TopAbs);
|
||||||
|
|
||||||
|
Type(me)
|
||||||
|
returns ShapeEnum from TopAbs;
|
||||||
|
|
||||||
|
SetNbSubShapes(me:out;
|
||||||
|
aType:ShapeEnum from TopAbs;
|
||||||
|
aNb :Integer from Standard);
|
||||||
|
|
||||||
|
NbSubShapes(me;
|
||||||
|
aType:ShapeEnum from TopAbs)
|
||||||
|
returns Integer from Standard;
|
||||||
|
|
||||||
|
SetKindOfShape (me:out;
|
||||||
|
aT:KindOfShape from GEOMAlgo);
|
||||||
|
|
||||||
|
KindOfShape (me)
|
||||||
|
returns KindOfShape from GEOMAlgo;
|
||||||
|
|
||||||
|
SetKindOfName (me:out;
|
||||||
|
aT: KindOfName from GEOMAlgo);
|
||||||
|
|
||||||
|
KindOfName(me)
|
||||||
|
returns KindOfName from GEOMAlgo;
|
||||||
|
|
||||||
|
SetKindOfBounds (me:out;
|
||||||
|
aT:KindOfBounds from GEOMAlgo);
|
||||||
|
|
||||||
|
KindOfBounds (me)
|
||||||
|
returns KindOfBounds from GEOMAlgo;
|
||||||
|
|
||||||
|
SetKindOfClosed (me:out;
|
||||||
|
aT:KindOfClosed from GEOMAlgo);
|
||||||
|
|
||||||
|
KindOfClosed(me)
|
||||||
|
returns KindOfClosed from GEOMAlgo;
|
||||||
|
|
||||||
|
SetLocation (me:out;
|
||||||
|
aP: Pnt from gp);
|
||||||
|
|
||||||
|
Location (me)
|
||||||
|
returns Pnt from gp;
|
||||||
|
---C++: return const&
|
||||||
|
|
||||||
|
SetDirection (me:out;
|
||||||
|
aD:Dir from gp);
|
||||||
|
|
||||||
|
Direction (me)
|
||||||
|
returns Dir from gp;
|
||||||
|
---C++: return const&
|
||||||
|
|
||||||
|
SetPosition (me:out;
|
||||||
|
aAx2 : Ax2 from gp);
|
||||||
|
|
||||||
|
SetPosition (me:out;
|
||||||
|
aAx3 : Ax3 from gp);
|
||||||
|
|
||||||
|
Position (me)
|
||||||
|
returns Ax3 from gp;
|
||||||
|
---C++: return const&
|
||||||
|
|
||||||
|
SetPnt1 (me:out;
|
||||||
|
aP: Pnt from gp);
|
||||||
|
|
||||||
|
Pnt1 (me)
|
||||||
|
returns Pnt from gp;
|
||||||
|
---C++: return const&
|
||||||
|
|
||||||
|
SetPnt2 (me:out;
|
||||||
|
aP: Pnt from gp);
|
||||||
|
|
||||||
|
Pnt2 (me)
|
||||||
|
returns Pnt from gp;
|
||||||
|
---C++: return const&
|
||||||
|
|
||||||
|
SetRadius1 (me:out;
|
||||||
|
aR: Real from Standard);
|
||||||
|
|
||||||
|
Radius1(me)
|
||||||
|
returns Real from Standard;
|
||||||
|
|
||||||
|
SetRadius2 (me:out;
|
||||||
|
aR: Real from Standard);
|
||||||
|
|
||||||
|
Radius2(me)
|
||||||
|
returns Real from Standard;
|
||||||
|
|
||||||
|
SetLength(me:out;
|
||||||
|
aL: Real from Standard);
|
||||||
|
|
||||||
|
Length(me)
|
||||||
|
returns Real from Standard;
|
||||||
|
|
||||||
|
SetWidth(me:out;
|
||||||
|
aW: Real from Standard);
|
||||||
|
|
||||||
|
Width(me)
|
||||||
|
returns Real from Standard;
|
||||||
|
|
||||||
|
SetHeight(me:out;
|
||||||
|
aH: Real from Standard);
|
||||||
|
|
||||||
|
Height(me)
|
||||||
|
returns Real from Standard;
|
||||||
|
--
|
||||||
|
-- Dump
|
||||||
|
--
|
||||||
|
Dump(me);
|
||||||
|
|
||||||
|
DumpVertex(me)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
DumpEdge(me)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
DumpWire(me)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
DumpFace(me)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
DumpShell(me)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
DumpSolid(me)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
DumpCompSolid(me)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
DumpCompound(me)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
fields
|
||||||
|
myType : ShapeEnum from TopAbs is protected;
|
||||||
|
myNbSubShapes : Integer from Standard[9] is protected;
|
||||||
|
myKindOfShape : KindOfShape from GEOMAlgo is protected;
|
||||||
|
myKindOfName : KindOfName from GEOMAlgo is protected;
|
||||||
|
myKindOfBounds : KindOfBounds from GEOMAlgo is protected;
|
||||||
|
myKindOfClosed : KindOfClosed from GEOMAlgo is protected;
|
||||||
|
--
|
||||||
|
myLocation : Pnt from gp is protected;
|
||||||
|
myDirection : Dir from gp is protected;
|
||||||
|
myPosition : Ax3 from gp is protected;
|
||||||
|
--
|
||||||
|
myRadius1 : Real from Standard is protected;
|
||||||
|
myRadius2 : Real from Standard is protected;
|
||||||
|
myLength : Real from Standard is protected;
|
||||||
|
myWidth : Real from Standard is protected;
|
||||||
|
myHeight : Real from Standard is protected;
|
||||||
|
--
|
||||||
|
myPnt1 : Pnt from gp is protected;
|
||||||
|
myPnt2 : Pnt from gp is protected;
|
||||||
|
--
|
||||||
|
myNbTypes : Integer from Standard is protected;
|
||||||
|
end ShapeInfo;
|
871
src/GEOMAlgo/GEOMAlgo_ShapeInfo.cxx
Normal file
@ -0,0 +1,871 @@
|
|||||||
|
#include <GEOMAlgo_ShapeInfo.ixx>
|
||||||
|
|
||||||
|
|
||||||
|
static
|
||||||
|
Standard_Integer TypeToInteger(const TopAbs_ShapeEnum aType);
|
||||||
|
static
|
||||||
|
void DumpKindOfShape(const GEOMAlgo_KindOfShape aKS);
|
||||||
|
static
|
||||||
|
void DumpKindOfClosed(const GEOMAlgo_KindOfClosed aKC);
|
||||||
|
static
|
||||||
|
void DumpKindOfBounds(const GEOMAlgo_KindOfBounds aKB);
|
||||||
|
static
|
||||||
|
void DumpKindOfName(const GEOMAlgo_KindOfName aKS);
|
||||||
|
static
|
||||||
|
void DumpPosition(const gp_Ax3& aAx3);
|
||||||
|
static
|
||||||
|
void DumpLocation(const gp_Pnt& aP);
|
||||||
|
static
|
||||||
|
void DumpDirection(const gp_Dir& aD);
|
||||||
|
//=======================================================================
|
||||||
|
//function :
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_ShapeInfo::GEOMAlgo_ShapeInfo()
|
||||||
|
{
|
||||||
|
Reset();
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : ~
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_ShapeInfo::~GEOMAlgo_ShapeInfo()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Reset
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::Reset()
|
||||||
|
{
|
||||||
|
Standard_Integer i;
|
||||||
|
//
|
||||||
|
myType=TopAbs_SHAPE;
|
||||||
|
//
|
||||||
|
myNbTypes=9;
|
||||||
|
for (i=0; i<myNbTypes; ++i) {
|
||||||
|
myNbSubShapes[i]=0;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
myKindOfShape=GEOMAlgo_KS_UNKNOWN;
|
||||||
|
myKindOfBounds=GEOMAlgo_KB_UNKNOWN;
|
||||||
|
myKindOfClosed=GEOMAlgo_KC_UNKNOWN;
|
||||||
|
myKindOfName=GEOMAlgo_KN_UNKNOWN;
|
||||||
|
//
|
||||||
|
myLocation.SetCoord(99., 99., 99.);
|
||||||
|
myDirection.SetCoord(1.,0.,0.);
|
||||||
|
//
|
||||||
|
myRadius1=-1.;
|
||||||
|
myRadius2=-2.;
|
||||||
|
myLength=-3.;
|
||||||
|
myWidth=-3.;
|
||||||
|
myHeight=-3.;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetType
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetType(const TopAbs_ShapeEnum aType)
|
||||||
|
{
|
||||||
|
myType=aType;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Type
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
TopAbs_ShapeEnum GEOMAlgo_ShapeInfo::Type() const
|
||||||
|
{
|
||||||
|
return myType;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetNbSubShapes
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetNbSubShapes(const TopAbs_ShapeEnum aType,
|
||||||
|
const Standard_Integer aNb)
|
||||||
|
{
|
||||||
|
Standard_Integer iN;
|
||||||
|
|
||||||
|
iN=TypeToInteger(aType);
|
||||||
|
if (iN>=0 && iN<myNbTypes) {
|
||||||
|
myNbSubShapes[iN]=aNb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : NbSubShapes
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Integer GEOMAlgo_ShapeInfo::NbSubShapes(const TopAbs_ShapeEnum aType) const
|
||||||
|
{
|
||||||
|
Standard_Integer iN;
|
||||||
|
|
||||||
|
iN=TypeToInteger(aType);
|
||||||
|
if (iN>=0 && iN<myNbTypes) {
|
||||||
|
return myNbSubShapes[iN];
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetKindOfShape
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetKindOfShape(const GEOMAlgo_KindOfShape aT)
|
||||||
|
{
|
||||||
|
myKindOfShape=aT;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : KindOfShape
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_KindOfShape GEOMAlgo_ShapeInfo::KindOfShape() const
|
||||||
|
{
|
||||||
|
return myKindOfShape;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetKindOfName
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetKindOfName(const GEOMAlgo_KindOfName aT)
|
||||||
|
{
|
||||||
|
myKindOfName=aT;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : KindOfName
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_KindOfName GEOMAlgo_ShapeInfo::KindOfName() const
|
||||||
|
{
|
||||||
|
return myKindOfName;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetKindOfBounds
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetKindOfBounds(const GEOMAlgo_KindOfBounds aT)
|
||||||
|
{
|
||||||
|
myKindOfBounds=aT;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : KindOfBounds
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_KindOfBounds GEOMAlgo_ShapeInfo::KindOfBounds() const
|
||||||
|
{
|
||||||
|
return myKindOfBounds;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetKindOfClosed
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetKindOfClosed(const GEOMAlgo_KindOfClosed aT)
|
||||||
|
{
|
||||||
|
myKindOfClosed=aT;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : KindOfClosed
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_KindOfClosed GEOMAlgo_ShapeInfo::KindOfClosed() const
|
||||||
|
{
|
||||||
|
return myKindOfClosed;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetLocation
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetLocation(const gp_Pnt& aP)
|
||||||
|
{
|
||||||
|
myLocation=aP;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Location
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const gp_Pnt& GEOMAlgo_ShapeInfo::Location() const
|
||||||
|
{
|
||||||
|
return myLocation;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetDirection
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetDirection(const gp_Dir& aD)
|
||||||
|
{
|
||||||
|
myDirection=aD;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Direction
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const gp_Dir& GEOMAlgo_ShapeInfo::Direction() const
|
||||||
|
{
|
||||||
|
return myDirection;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetPosition
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetPosition(const gp_Ax2& aAx2)
|
||||||
|
{
|
||||||
|
gp_Ax3 aAx3(aAx2);
|
||||||
|
SetPosition(aAx3);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetPosition
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetPosition(const gp_Ax3& aAx3)
|
||||||
|
{
|
||||||
|
myPosition=aAx3;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Position
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const gp_Ax3& GEOMAlgo_ShapeInfo::Position() const
|
||||||
|
{
|
||||||
|
return myPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetPnt1
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetPnt1(const gp_Pnt& aP)
|
||||||
|
{
|
||||||
|
myPnt1=aP;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Pnt1
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const gp_Pnt& GEOMAlgo_ShapeInfo::Pnt1() const
|
||||||
|
{
|
||||||
|
return myPnt1;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetPnt2
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetPnt2(const gp_Pnt& aP)
|
||||||
|
{
|
||||||
|
myPnt2=aP;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Pnt2
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const gp_Pnt& GEOMAlgo_ShapeInfo::Pnt2() const
|
||||||
|
{
|
||||||
|
return myPnt2;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetRadius1
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetRadius1(const Standard_Real aR)
|
||||||
|
{
|
||||||
|
myRadius1=aR;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Radius1
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Real GEOMAlgo_ShapeInfo::Radius1() const
|
||||||
|
{
|
||||||
|
return myRadius1;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetRadius2
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetRadius2(const Standard_Real aR)
|
||||||
|
{
|
||||||
|
myRadius2=aR;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Radius2
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Real GEOMAlgo_ShapeInfo::Radius2() const
|
||||||
|
{
|
||||||
|
return myRadius2;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetLength
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetLength(const Standard_Real aL)
|
||||||
|
{
|
||||||
|
myLength=aL;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Length
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Real GEOMAlgo_ShapeInfo::Length() const
|
||||||
|
{
|
||||||
|
return myLength;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetWidth
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetWidth(const Standard_Real aW)
|
||||||
|
{
|
||||||
|
myWidth=aW;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Width
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Real GEOMAlgo_ShapeInfo::Width() const
|
||||||
|
{
|
||||||
|
return myWidth;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetHeight
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::SetHeight(const Standard_Real aH)
|
||||||
|
{
|
||||||
|
myHeight=aH;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Height
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Real GEOMAlgo_ShapeInfo::Height() const
|
||||||
|
{
|
||||||
|
return myHeight;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : TypeToInteger
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Integer TypeToInteger(const TopAbs_ShapeEnum aType)
|
||||||
|
{
|
||||||
|
Standard_Integer iN;
|
||||||
|
//
|
||||||
|
iN=(Standard_Integer)aType;
|
||||||
|
return iN;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Dump
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::Dump()const
|
||||||
|
{
|
||||||
|
switch (myType) {
|
||||||
|
//
|
||||||
|
case TopAbs_VERTEX:
|
||||||
|
DumpVertex();
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_EDGE:
|
||||||
|
DumpEdge();
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_WIRE:
|
||||||
|
DumpWire();
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_FACE:
|
||||||
|
DumpFace();
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_SHELL:
|
||||||
|
DumpShell();
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_SOLID:
|
||||||
|
DumpSolid();
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_COMPSOLID:
|
||||||
|
DumpCompSolid();
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_COMPOUND:
|
||||||
|
DumpCompound();
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
default:
|
||||||
|
printf(" * not implememted yet\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpCompound
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::DumpCompound()const
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE, aNbF, aNbS, aNbC, aNbP;
|
||||||
|
GEOMAlgo_KindOfShape aKS;
|
||||||
|
GEOMAlgo_KindOfName aKN;
|
||||||
|
GEOMAlgo_KindOfBounds aKB;
|
||||||
|
GEOMAlgo_KindOfClosed aKC;
|
||||||
|
//
|
||||||
|
aNbV=NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=NbSubShapes(TopAbs_EDGE);
|
||||||
|
aNbF=NbSubShapes(TopAbs_FACE);
|
||||||
|
aNbS=NbSubShapes(TopAbs_SOLID);
|
||||||
|
aNbC=NbSubShapes(TopAbs_COMPSOLID);
|
||||||
|
aNbP=NbSubShapes(TopAbs_COMPOUND);
|
||||||
|
aKS=KindOfShape();
|
||||||
|
aKN=KindOfName();
|
||||||
|
aKB=KindOfBounds();
|
||||||
|
aKC=KindOfClosed();
|
||||||
|
//
|
||||||
|
printf(" *COMPOUND\n");
|
||||||
|
printf(" number of vertices : %d\n", aNbV);
|
||||||
|
printf(" number of edges : %d\n", aNbE);
|
||||||
|
printf(" number of faces : %d\n", aNbF);
|
||||||
|
printf(" number of solids : %d\n", aNbS);
|
||||||
|
printf(" number of compsolids : %d\n", aNbC);
|
||||||
|
printf(" number of compounds : %d\n", aNbP);
|
||||||
|
DumpKindOfShape (aKS);
|
||||||
|
DumpKindOfName (aKN);
|
||||||
|
DumpKindOfBounds(aKB);
|
||||||
|
DumpKindOfClosed(aKC);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpCompSolid
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::DumpCompSolid()const
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE, aNbF, aNbS;
|
||||||
|
GEOMAlgo_KindOfShape aKS;
|
||||||
|
GEOMAlgo_KindOfName aKN;
|
||||||
|
GEOMAlgo_KindOfBounds aKB;
|
||||||
|
GEOMAlgo_KindOfClosed aKC;
|
||||||
|
//
|
||||||
|
aNbV=NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=NbSubShapes(TopAbs_EDGE);
|
||||||
|
aNbF=NbSubShapes(TopAbs_FACE);
|
||||||
|
aNbS=NbSubShapes(TopAbs_SOLID);
|
||||||
|
aKS=KindOfShape();
|
||||||
|
aKN=KindOfName();
|
||||||
|
aKB=KindOfBounds();
|
||||||
|
aKC=KindOfClosed();
|
||||||
|
//
|
||||||
|
printf(" *COMPSOLID\n");
|
||||||
|
printf(" number of vertices: %d\n", aNbV);
|
||||||
|
printf(" number of edges : %d\n", aNbE);
|
||||||
|
printf(" number of faces : %d\n", aNbF);
|
||||||
|
printf(" number of solids : %d\n", aNbS);
|
||||||
|
DumpKindOfShape (aKS);
|
||||||
|
DumpKindOfName (aKN);
|
||||||
|
DumpKindOfBounds(aKB);
|
||||||
|
DumpKindOfClosed(aKC);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpSolid
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::DumpSolid()const
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE, aNbF;
|
||||||
|
GEOMAlgo_KindOfShape aKS;
|
||||||
|
GEOMAlgo_KindOfName aKN;
|
||||||
|
GEOMAlgo_KindOfBounds aKB;
|
||||||
|
GEOMAlgo_KindOfClosed aKC;
|
||||||
|
//
|
||||||
|
aNbV=NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=NbSubShapes(TopAbs_EDGE);
|
||||||
|
aNbF=NbSubShapes(TopAbs_FACE);
|
||||||
|
aKS=KindOfShape();
|
||||||
|
aKN=KindOfName();
|
||||||
|
aKB=KindOfBounds();
|
||||||
|
aKC=KindOfClosed();
|
||||||
|
//
|
||||||
|
printf(" *SOLID\n");
|
||||||
|
printf(" number of vertices: %d\n", aNbV);
|
||||||
|
printf(" number of edges : %d\n", aNbE);
|
||||||
|
printf(" number of faces : %d\n", aNbF);
|
||||||
|
DumpKindOfShape (aKS);
|
||||||
|
DumpKindOfName (aKN);
|
||||||
|
DumpKindOfBounds(aKB);
|
||||||
|
DumpKindOfClosed(aKC);
|
||||||
|
//
|
||||||
|
if (aKN==GEOMAlgo_KN_SPHERE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
}
|
||||||
|
if (aKN==GEOMAlgo_KN_CYLINDER) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Height : %.3lf\n", myHeight);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_CONE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Radius2 : %.3lf\n", myRadius2);
|
||||||
|
printf(" Height : %.3lf\n", myHeight);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_TORUS) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Radius2 : %.3lf\n", myRadius2);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_POLYHEDRON) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_BOX) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Length : %.3lf\n", myLength);
|
||||||
|
printf(" Width : %.3lf\n", myWidth);
|
||||||
|
printf(" Height : %.3lf\n", myHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpFace
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::DumpFace()const
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE;
|
||||||
|
GEOMAlgo_KindOfShape aKS;
|
||||||
|
GEOMAlgo_KindOfName aKN;
|
||||||
|
GEOMAlgo_KindOfBounds aKB;
|
||||||
|
GEOMAlgo_KindOfClosed aKC;
|
||||||
|
//
|
||||||
|
aNbV=NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=NbSubShapes(TopAbs_EDGE);
|
||||||
|
aKS=KindOfShape();
|
||||||
|
aKN=KindOfName();
|
||||||
|
aKB=KindOfBounds();
|
||||||
|
aKC=KindOfClosed();
|
||||||
|
//
|
||||||
|
printf(" *FACE\n");
|
||||||
|
printf(" number of vertices: %d\n", aNbV);
|
||||||
|
printf(" number of edges : %d\n", aNbE);
|
||||||
|
DumpKindOfShape (aKS);
|
||||||
|
DumpKindOfName (aKN);
|
||||||
|
DumpKindOfBounds(aKB);
|
||||||
|
DumpKindOfClosed(aKC);
|
||||||
|
//
|
||||||
|
// PLANE
|
||||||
|
if (aKN==GEOMAlgo_KN_PLANE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_DISKCIRCLE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_DISKELLIPSE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Radius2 : %.3lf\n", myRadius2);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_RECTANGLE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Length : %.3lf\n", myLength);
|
||||||
|
printf(" Width : %.3lf\n", myWidth);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_TRIANGLE ||
|
||||||
|
aKN==GEOMAlgo_KN_QUADRANGLE||
|
||||||
|
aKN==GEOMAlgo_KN_POLYGON) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// SPHERE
|
||||||
|
else if (aKN==GEOMAlgo_KN_SPHERE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf", myRadius1);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// CYLINDER
|
||||||
|
else if (aKN==GEOMAlgo_KN_CYLINDER) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Height : %.3lf\n", myHeight);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// CONE
|
||||||
|
else if (aKN==GEOMAlgo_KN_CONE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Radius2 : %.3lf\n", myRadius2);
|
||||||
|
printf(" Height : %.3lf\n", myHeight);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// TORUS
|
||||||
|
else if (aKN==GEOMAlgo_KN_TORUS) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Radius2 : %.3lf\n", myRadius2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpShell
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::DumpShell()const
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE, aNbF;
|
||||||
|
GEOMAlgo_KindOfClosed aKC;
|
||||||
|
//
|
||||||
|
printf(" *SHELL\n");
|
||||||
|
//
|
||||||
|
aNbV=NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=NbSubShapes(TopAbs_EDGE);
|
||||||
|
aNbF=NbSubShapes(TopAbs_FACE);
|
||||||
|
printf(" number of vertices: %d\n", aNbV);
|
||||||
|
printf(" number of edges : %d\n", aNbE);
|
||||||
|
printf(" number of faces : %d\n", aNbF);
|
||||||
|
aKC=KindOfClosed();
|
||||||
|
DumpKindOfClosed(aKC);
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpWire
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::DumpWire()const
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE;
|
||||||
|
GEOMAlgo_KindOfClosed aKC;
|
||||||
|
//
|
||||||
|
printf(" *WIRE\n");
|
||||||
|
//
|
||||||
|
aNbV=NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=NbSubShapes(TopAbs_EDGE);
|
||||||
|
printf(" number of vertices: %d\n", aNbV);
|
||||||
|
printf(" number of edges : %d\n", aNbE);
|
||||||
|
|
||||||
|
aKC=KindOfClosed();
|
||||||
|
DumpKindOfClosed(aKC);
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpEdge
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::DumpEdge()const
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV;
|
||||||
|
Standard_Real aX, aY, aZ;
|
||||||
|
GEOMAlgo_KindOfShape aKS;
|
||||||
|
GEOMAlgo_KindOfName aKN;
|
||||||
|
GEOMAlgo_KindOfBounds aKB;
|
||||||
|
GEOMAlgo_KindOfClosed aKC;
|
||||||
|
//
|
||||||
|
aNbV=NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aKS=KindOfShape();
|
||||||
|
aKN=KindOfName();
|
||||||
|
aKB=KindOfBounds();
|
||||||
|
aKC=KindOfClosed();
|
||||||
|
//
|
||||||
|
printf(" *EDGE\n");
|
||||||
|
printf(" number of vertices: %d\n", aNbV);
|
||||||
|
DumpKindOfShape (aKS);
|
||||||
|
DumpKindOfName (aKN);
|
||||||
|
DumpKindOfBounds(aKB);
|
||||||
|
DumpKindOfClosed(aKC);
|
||||||
|
//
|
||||||
|
// LINE
|
||||||
|
if (aKN==GEOMAlgo_KN_LINE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpDirection(myDirection);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_SEGMENT) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpDirection(myDirection);
|
||||||
|
printf(" Length : %.3lf\n", myLength);
|
||||||
|
myPnt1.Coord(aX, aY, aZ);
|
||||||
|
printf(" Pnt1 : %.3lf %.3lf %.3lf\n", aX, aY, aZ);
|
||||||
|
myPnt2.Coord(aX, aY, aZ);
|
||||||
|
printf(" Pnt2 : %.3lf %.3lf %.3lf\n", aX, aY, aZ);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_CIRCLE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_ARCCIRCLE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
myPnt1.Coord(aX, aY, aZ);
|
||||||
|
printf(" Pnt1 : %.3lf %.3lf %.3lf\n", aX, aY, aZ);
|
||||||
|
myPnt2.Coord(aX, aY, aZ);
|
||||||
|
printf(" Pnt2 : %.3lf %.3lf %.3lf\n", aX, aY, aZ);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_ELLIPSE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Radius2 : %.3lf\n", myRadius2);
|
||||||
|
}
|
||||||
|
else if (aKN==GEOMAlgo_KN_ARCELLIPSE) {
|
||||||
|
DumpLocation (myLocation);
|
||||||
|
DumpPosition (myPosition);
|
||||||
|
printf(" Radius1 : %.3lf\n", myRadius1);
|
||||||
|
printf(" Radius2 : %.3lf\n", myRadius2);
|
||||||
|
myPnt1.Coord(aX, aY, aZ);
|
||||||
|
printf(" Pnt1 : %.3lf %.3lf %.3lf\n", aX, aY, aZ);
|
||||||
|
myPnt2.Coord(aX, aY, aZ);
|
||||||
|
printf(" Pnt2 : %.3lf %.3lf %.3lf\n", aX, aY, aZ);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpVertex
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfo::DumpVertex()const
|
||||||
|
{
|
||||||
|
printf(" *VERTEX\n");
|
||||||
|
DumpLocation(myLocation);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpLocation
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void DumpLocation(const gp_Pnt& aP)
|
||||||
|
{
|
||||||
|
Standard_Real aX, aY, aZ;
|
||||||
|
//
|
||||||
|
aP.Coord(aX, aY, aZ);
|
||||||
|
printf(" Location : %.3lf %.3lf %.3lf \n", aX, aY, aZ);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpDirection
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void DumpDirection(const gp_Dir& aD)
|
||||||
|
{
|
||||||
|
Standard_Real aX, aY, aZ;
|
||||||
|
//
|
||||||
|
aD.Coord(aX, aY, aZ);
|
||||||
|
printf(" Direction: %.3lf %.3lf %.3lf \n", aX, aY, aZ);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpPosition
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void DumpPosition(const gp_Ax3& aAx3)
|
||||||
|
{
|
||||||
|
const gp_Dir& aDZ=aAx3.Axis().Direction();
|
||||||
|
const gp_Dir& aDX=aAx3.XDirection();
|
||||||
|
const gp_Dir& aDY=aAx3.YDirection();
|
||||||
|
printf(" Position:\n");
|
||||||
|
printf(" Axis: %.3lf %.3lf %.3lf \n", aDZ.X(), aDZ.Y(), aDZ.Z());
|
||||||
|
printf(" X : %.3lf %.3lf %.3lf \n", aDX.X(), aDX.Y(), aDX.Z());
|
||||||
|
printf(" Y : %.3lf %.3lf %.3lf \n", aDY.X(), aDY.Y(), aDY.Z());
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpKindOfBounds
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void DumpKindOfBounds(const GEOMAlgo_KindOfBounds aKB)
|
||||||
|
{
|
||||||
|
char *pStr[]={
|
||||||
|
"KB_UNKNOWN",
|
||||||
|
"KB_TRIMMED",
|
||||||
|
"KB_INFINITE"
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
//
|
||||||
|
i=(Standard_Integer)aKB;
|
||||||
|
printf(" KindOfBounds: %s\n", pStr[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpKindOfClosed
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void DumpKindOfClosed(const GEOMAlgo_KindOfClosed aKC)
|
||||||
|
{
|
||||||
|
char *pStr[]={
|
||||||
|
"KC_UNKNOWN",
|
||||||
|
"KC_CLOSED",
|
||||||
|
"KC_NOTCLOSED"
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
//
|
||||||
|
i=(Standard_Integer)aKC;
|
||||||
|
printf(" KindOfClosed: %s\n", pStr[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpKindOfShape
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void DumpKindOfShape(const GEOMAlgo_KindOfShape aKS)
|
||||||
|
{
|
||||||
|
char *pStr[]={
|
||||||
|
"KS_UNKNOWN",
|
||||||
|
"KS_SPHERE",
|
||||||
|
"KS_CYLINDER",
|
||||||
|
"KS_BOX",
|
||||||
|
"KS_TORUS",
|
||||||
|
"KS_CONE",
|
||||||
|
"KS_ELLIPSE",
|
||||||
|
"KS_PLANE",
|
||||||
|
"KS_CIRCLE",
|
||||||
|
"KS_LINE",
|
||||||
|
"KS_DEGENERATED"
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
//
|
||||||
|
i=(Standard_Integer)aKS;
|
||||||
|
printf(" KindOfShape : %s\n", pStr[i]);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : DumpKindOfName
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void DumpKindOfName(const GEOMAlgo_KindOfName aKS)
|
||||||
|
{
|
||||||
|
char *pStr[]={
|
||||||
|
"KN_UNKNOWN",
|
||||||
|
"KN_SPHERE",
|
||||||
|
"KN_CYLINDER",
|
||||||
|
"KN_TORUS",
|
||||||
|
"KN_CONE",
|
||||||
|
"KN_ELLIPSE",
|
||||||
|
"KN_CIRCLE",
|
||||||
|
"KN_PLANE",
|
||||||
|
"KN_LINE",
|
||||||
|
"KN_BOX",
|
||||||
|
"KN_SEGMENT",
|
||||||
|
"KN_ARCCIRCLE",
|
||||||
|
"KN_POLYGON",
|
||||||
|
"KN_POLYHEDRON",
|
||||||
|
"KN_DISKCIRCLE",
|
||||||
|
"KN_DISKELLIPSE",
|
||||||
|
"KN_RECTANGLE",
|
||||||
|
"KN_TRIANGLE",
|
||||||
|
"KN_QUADRANGLE",
|
||||||
|
"KN_ARCELLIPSE"
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
//
|
||||||
|
i=(Standard_Integer)aKS;
|
||||||
|
printf(" KindOfName : %s\n", pStr[i]);
|
||||||
|
}
|
272
src/GEOMAlgo/GEOMAlgo_ShapeInfo.hxx
Normal file
@ -0,0 +1,272 @@
|
|||||||
|
// File generated by CPPExt (Value)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfo_HeaderFile
|
||||||
|
#define _GEOMAlgo_ShapeInfo_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _TopAbs_ShapeEnum_HeaderFile
|
||||||
|
#include <TopAbs_ShapeEnum.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Integer_HeaderFile
|
||||||
|
#include <Standard_Integer.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_KindOfShape_HeaderFile
|
||||||
|
#include <GEOMAlgo_KindOfShape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_KindOfName_HeaderFile
|
||||||
|
#include <GEOMAlgo_KindOfName.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_KindOfBounds_HeaderFile
|
||||||
|
#include <GEOMAlgo_KindOfBounds.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_KindOfClosed_HeaderFile
|
||||||
|
#include <GEOMAlgo_KindOfClosed.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Pnt_HeaderFile
|
||||||
|
#include <gp_Pnt.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Dir_HeaderFile
|
||||||
|
#include <gp_Dir.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Ax3_HeaderFile
|
||||||
|
#include <gp_Ax3.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Real_HeaderFile
|
||||||
|
#include <Standard_Real.hxx>
|
||||||
|
#endif
|
||||||
|
class gp_Pnt;
|
||||||
|
class gp_Dir;
|
||||||
|
class gp_Ax2;
|
||||||
|
class gp_Ax3;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Macro_HeaderFile
|
||||||
|
#include <Standard_Macro.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_ShapeInfo {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void* operator new(size_t,void* anAddress)
|
||||||
|
{
|
||||||
|
return anAddress;
|
||||||
|
}
|
||||||
|
void* operator new(size_t size)
|
||||||
|
{
|
||||||
|
return Standard::Allocate(size);
|
||||||
|
}
|
||||||
|
void operator delete(void *anAddress)
|
||||||
|
{
|
||||||
|
if (anAddress) Standard::Free((Standard_Address&)anAddress);
|
||||||
|
}
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_ShapeInfo();
|
||||||
|
Standard_EXPORT virtual ~GEOMAlgo_ShapeInfo();
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void Reset() ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetType(const TopAbs_ShapeEnum aType) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT TopAbs_ShapeEnum Type() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetNbSubShapes(const TopAbs_ShapeEnum aType,const Standard_Integer aNb) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Integer NbSubShapes(const TopAbs_ShapeEnum aType) const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetKindOfShape(const GEOMAlgo_KindOfShape aT) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_KindOfShape KindOfShape() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetKindOfName(const GEOMAlgo_KindOfName aT) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_KindOfName KindOfName() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetKindOfBounds(const GEOMAlgo_KindOfBounds aT) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_KindOfBounds KindOfBounds() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetKindOfClosed(const GEOMAlgo_KindOfClosed aT) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_KindOfClosed KindOfClosed() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetLocation(const gp_Pnt& aP) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const gp_Pnt& Location() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetDirection(const gp_Dir& aD) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const gp_Dir& Direction() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetPosition(const gp_Ax2& aAx2) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetPosition(const gp_Ax3& aAx3) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const gp_Ax3& Position() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetPnt1(const gp_Pnt& aP) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const gp_Pnt& Pnt1() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetPnt2(const gp_Pnt& aP) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const gp_Pnt& Pnt2() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetRadius1(const Standard_Real aR) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Real Radius1() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetRadius2(const Standard_Real aR) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Real Radius2() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetLength(const Standard_Real aL) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Real Length() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetWidth(const Standard_Real aW) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Real Width() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetHeight(const Standard_Real aH) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Real Height() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void Dump() const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void DumpVertex() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void DumpEdge() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void DumpWire() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void DumpFace() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void DumpShell() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void DumpSolid() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void DumpCompSolid() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void DumpCompound() const;
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
TopAbs_ShapeEnum myType;
|
||||||
|
Standard_Integer myNbSubShapes[9];
|
||||||
|
GEOMAlgo_KindOfShape myKindOfShape;
|
||||||
|
GEOMAlgo_KindOfName myKindOfName;
|
||||||
|
GEOMAlgo_KindOfBounds myKindOfBounds;
|
||||||
|
GEOMAlgo_KindOfClosed myKindOfClosed;
|
||||||
|
gp_Pnt myLocation;
|
||||||
|
gp_Dir myDirection;
|
||||||
|
gp_Ax3 myPosition;
|
||||||
|
Standard_Real myRadius1;
|
||||||
|
Standard_Real myRadius2;
|
||||||
|
Standard_Real myLength;
|
||||||
|
Standard_Real myWidth;
|
||||||
|
Standard_Real myHeight;
|
||||||
|
gp_Pnt myPnt1;
|
||||||
|
gp_Pnt myPnt2;
|
||||||
|
Standard_Integer myNbTypes;
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
26
src/GEOMAlgo/GEOMAlgo_ShapeInfo.ixx
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// File generated by CPPExt (Value)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#include <GEOMAlgo_ShapeInfo.jxx>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
15
src/GEOMAlgo/GEOMAlgo_ShapeInfo.jxx
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#ifndef _gp_Pnt_HeaderFile
|
||||||
|
#include <gp_Pnt.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Dir_HeaderFile
|
||||||
|
#include <gp_Dir.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Ax2_HeaderFile
|
||||||
|
#include <gp_Ax2.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Ax3_HeaderFile
|
||||||
|
#include <gp_Ax3.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#endif
|
132
src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller.cdl
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
-- File: GEOMAlgo_ShapeInfoFiller.cdl
|
||||||
|
-- Created: Mon Apr 2 15:05:34 2007
|
||||||
|
-- Author: Peter KURNEV
|
||||||
|
-- <pkv@irinox>
|
||||||
|
---Copyright: Matra Datavision 2007
|
||||||
|
|
||||||
|
|
||||||
|
class ShapeInfoFiller from GEOMAlgo
|
||||||
|
inherits Algo from GEOMAlgo
|
||||||
|
|
||||||
|
---Purpose:
|
||||||
|
|
||||||
|
uses
|
||||||
|
Pln from gp,
|
||||||
|
Sphere from gp,
|
||||||
|
Cylinder from gp,
|
||||||
|
Cone from gp,
|
||||||
|
Torus from gp,
|
||||||
|
|
||||||
|
Shape from TopoDS,
|
||||||
|
Face from TopoDS,
|
||||||
|
Solid from TopoDS,
|
||||||
|
|
||||||
|
ShapeInfo from GEOMAlgo,
|
||||||
|
KindOfName from GEOMAlgo,
|
||||||
|
IndexedDataMapOfShapeShapeInfo from GEOMAlgo
|
||||||
|
|
||||||
|
--raises
|
||||||
|
|
||||||
|
is
|
||||||
|
|
||||||
|
Create
|
||||||
|
returns ShapeInfoFiller from GEOMAlgo;
|
||||||
|
---C++: alias "Standard_EXPORT virtual ~GEOMAlgo_ShapeInfoFiller();"
|
||||||
|
|
||||||
|
SetShape(me:out;
|
||||||
|
aS:Shape from TopoDS);
|
||||||
|
|
||||||
|
Shape(me)
|
||||||
|
returns Shape from TopoDS;
|
||||||
|
---C++:return const &
|
||||||
|
|
||||||
|
SetTolerance(me:out;
|
||||||
|
aT:Real from Standard);
|
||||||
|
|
||||||
|
Tolerance(me)
|
||||||
|
returns Real from Standard;
|
||||||
|
|
||||||
|
Info(me)
|
||||||
|
returns ShapeInfo from GEOMAlgo;
|
||||||
|
---C++:return const &
|
||||||
|
|
||||||
|
Info(me;
|
||||||
|
aS:Shape from TopoDS)
|
||||||
|
returns ShapeInfo from GEOMAlgo;
|
||||||
|
---C++:return const &
|
||||||
|
|
||||||
|
Perform(me:out)
|
||||||
|
is redefined;
|
||||||
|
|
||||||
|
CheckData(me:out)
|
||||||
|
is redefined protected;
|
||||||
|
|
||||||
|
FillNbSubShapes(me:out;
|
||||||
|
aS:Shape from TopoDS;
|
||||||
|
aInfo: out ShapeInfo from GEOMAlgo)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillSubShapes(me:out;
|
||||||
|
aS:Shape from TopoDS)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillShape(me:out;
|
||||||
|
aS:Shape from TopoDS)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillVertex(me:out;
|
||||||
|
aS:Shape from TopoDS)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillEdge(me:out;
|
||||||
|
aS:Shape from TopoDS)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillFace(me:out;
|
||||||
|
aS:Shape from TopoDS)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillSolid(me:out;
|
||||||
|
aS:Shape from TopoDS)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillContainer(me:out;
|
||||||
|
aS:Shape from TopoDS)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
|
||||||
|
FillDetails(me:out;
|
||||||
|
aF:Face from TopoDS;
|
||||||
|
aPln:Pln from gp)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillDetails(me:out;
|
||||||
|
aF:Face from TopoDS;
|
||||||
|
aSph:Sphere from gp)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillDetails(me:out;
|
||||||
|
aF:Face from TopoDS;
|
||||||
|
aCyl:Cylinder from gp)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillDetails(me:out;
|
||||||
|
aF:Face from TopoDS;
|
||||||
|
aCone:Cone from gp)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillDetails(me:out;
|
||||||
|
aF:Face from TopoDS;
|
||||||
|
aTorus:Torus from gp)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
FillDetails(me:out;
|
||||||
|
aS:Solid from TopoDS)
|
||||||
|
is protected;
|
||||||
|
|
||||||
|
fields
|
||||||
|
myShape : Shape from TopoDS is protected;
|
||||||
|
myEmptyInfo : ShapeInfo from GEOMAlgo is protected;
|
||||||
|
myMapInfo : IndexedDataMapOfShapeShapeInfo from GEOMAlgo is protected;
|
||||||
|
myTolerance : Real from Standard is protected;
|
||||||
|
end ShapeInfoFiller;
|
792
src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller.cxx
Normal file
@ -0,0 +1,792 @@
|
|||||||
|
#include <GEOMAlgo_ShapeInfoFiller.ixx>
|
||||||
|
|
||||||
|
#include <Precision.hxx>
|
||||||
|
|
||||||
|
#include <gp_Lin.hxx>
|
||||||
|
#include <gp_Pnt.hxx>
|
||||||
|
#include <gp_Dir.hxx>
|
||||||
|
|
||||||
|
#include <Geom_Curve.hxx>
|
||||||
|
#include <GeomAdaptor_Curve.hxx>
|
||||||
|
|
||||||
|
#include <TopoDS_Vertex.hxx>
|
||||||
|
#include <TopoDS.hxx>
|
||||||
|
#include <TopoDS_Edge.hxx>
|
||||||
|
|
||||||
|
#include <BRep_Tool.hxx>
|
||||||
|
#include <TopExp.hxx>
|
||||||
|
|
||||||
|
#include <TopTools_IndexedMapOfShape.hxx>
|
||||||
|
#include <gp_Circ.hxx>
|
||||||
|
#include <gp_Ax2.hxx>
|
||||||
|
#include <gp_Elips.hxx>
|
||||||
|
#include <TopoDS_Iterator.hxx>
|
||||||
|
#include <TopoDS_Wire.hxx>
|
||||||
|
#include <TopExp.hxx>
|
||||||
|
#include <Geom_Surface.hxx>
|
||||||
|
#include <TopoDS_Face.hxx>
|
||||||
|
#include <GeomAdaptor_Surface.hxx>
|
||||||
|
#include <gp_Pln.hxx>
|
||||||
|
#include <gp_Sphere.hxx>
|
||||||
|
#include <gp_Ax3.hxx>
|
||||||
|
#include <BRepTools.hxx>
|
||||||
|
#include <gp_Cylinder.hxx>
|
||||||
|
#include <gp_Cone.hxx>
|
||||||
|
#include <gp_Torus.hxx>
|
||||||
|
#include <TopoDS_Solid.hxx>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static
|
||||||
|
Standard_Boolean IsAllowedType(const GeomAbs_CurveType aCT);
|
||||||
|
static
|
||||||
|
Standard_Boolean IsAllowedType(const GeomAbs_SurfaceType aST);
|
||||||
|
static
|
||||||
|
Standard_Integer NbWires(const TopoDS_Face& aF);
|
||||||
|
static
|
||||||
|
Standard_Integer NbShells(const TopoDS_Solid& aS);
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function :
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_ShapeInfoFiller::GEOMAlgo_ShapeInfoFiller()
|
||||||
|
:
|
||||||
|
GEOMAlgo_Algo()
|
||||||
|
{
|
||||||
|
myTolerance=0.0001;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : ~
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
GEOMAlgo_ShapeInfoFiller::~GEOMAlgo_ShapeInfoFiller()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetTolerance
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::SetTolerance(const Standard_Real aT)
|
||||||
|
{
|
||||||
|
myTolerance=aT;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Tolerance
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Real GEOMAlgo_ShapeInfoFiller::Tolerance()const
|
||||||
|
{
|
||||||
|
return myTolerance;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : SetShape
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::SetShape(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
myShape=aS;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Shape
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const TopoDS_Shape& GEOMAlgo_ShapeInfoFiller::Shape() const
|
||||||
|
{
|
||||||
|
return myShape;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Info
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const GEOMAlgo_ShapeInfo& GEOMAlgo_ShapeInfoFiller::Info() const
|
||||||
|
{
|
||||||
|
return Info(myShape);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Info
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
const GEOMAlgo_ShapeInfo& GEOMAlgo_ShapeInfoFiller::Info(const TopoDS_Shape& aS) const
|
||||||
|
{
|
||||||
|
if (!aS.IsNull()) {
|
||||||
|
if (myMapInfo.Contains(aS)) {
|
||||||
|
const GEOMAlgo_ShapeInfo& aInfo=myMapInfo.FindFromKey(aS);
|
||||||
|
return aInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return myEmptyInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : CheckData
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::CheckData()
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
if (myShape.IsNull()) {
|
||||||
|
myErrorStatus=10;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : Perform
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::Perform()
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
myMapInfo.Clear();
|
||||||
|
//
|
||||||
|
CheckData();
|
||||||
|
if (myErrorStatus) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
FillShape(myShape);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function :FillShape
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillShape(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
TopAbs_ShapeEnum aType;
|
||||||
|
//
|
||||||
|
aType=aS.ShapeType();
|
||||||
|
switch(aType) {
|
||||||
|
//
|
||||||
|
case TopAbs_VERTEX:
|
||||||
|
FillVertex(aS);
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_EDGE:
|
||||||
|
FillEdge(aS);
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_FACE:
|
||||||
|
FillFace(aS);
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_SOLID:
|
||||||
|
FillSolid(aS);
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
case TopAbs_WIRE:
|
||||||
|
case TopAbs_SHELL:
|
||||||
|
case TopAbs_COMPSOLID:
|
||||||
|
case TopAbs_COMPOUND:
|
||||||
|
FillContainer(aS);
|
||||||
|
break;
|
||||||
|
//
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function :FillSubShapes
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillSubShapes(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
TopoDS_Iterator aIt;
|
||||||
|
//
|
||||||
|
aIt.Initialize(aS);
|
||||||
|
for (; aIt.More(); aIt.Next()){
|
||||||
|
const TopoDS_Shape& aSx=aIt.Value();
|
||||||
|
FillShape(aSx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillContainer
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillContainer(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
Standard_Boolean bIsClosed;
|
||||||
|
TopAbs_ShapeEnum aType;
|
||||||
|
GEOMAlgo_KindOfClosed aKC;
|
||||||
|
//
|
||||||
|
aType=aS.ShapeType();
|
||||||
|
//----------------------------------------------------
|
||||||
|
if (myMapInfo.Contains(aS)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
GEOMAlgo_ShapeInfo aInfoX;
|
||||||
|
myMapInfo.Add(aS, aInfoX);
|
||||||
|
}
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aS);
|
||||||
|
//----------------------------------------------------
|
||||||
|
aInfo.SetType(aType);
|
||||||
|
FillNbSubShapes(aS, aInfo);
|
||||||
|
//
|
||||||
|
if (aType==TopAbs_SHELL) {
|
||||||
|
bIsClosed=BRep_Tool::IsClosed(aS);
|
||||||
|
aKC=(bIsClosed) ? GEOMAlgo_KC_CLOSED :GEOMAlgo_KC_NOTCLOSED;
|
||||||
|
aInfo.SetKindOfClosed(aKC);
|
||||||
|
}
|
||||||
|
else if (aType==TopAbs_WIRE) {
|
||||||
|
TopoDS_Wire aW;
|
||||||
|
TopoDS_Vertex aV1, aV2;
|
||||||
|
//
|
||||||
|
aW=TopoDS::Wire(aS);
|
||||||
|
TopExp::Vertices(aW, aV1, aV2);
|
||||||
|
//
|
||||||
|
bIsClosed=aV1.IsSame(aV2);
|
||||||
|
aKC=(bIsClosed) ? GEOMAlgo_KC_CLOSED :GEOMAlgo_KC_NOTCLOSED;
|
||||||
|
aInfo.SetKindOfClosed(aKC);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
FillSubShapes(aS);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillSolid
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillSolid(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
Standard_Integer aNbShells;
|
||||||
|
TopoDS_Solid aSd;
|
||||||
|
//
|
||||||
|
myErrorStatus=0;
|
||||||
|
//----------------------------------------------------
|
||||||
|
if (myMapInfo.Contains(aS)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
GEOMAlgo_ShapeInfo aInfoX;
|
||||||
|
myMapInfo.Add(aS, aInfoX);
|
||||||
|
}
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aS);
|
||||||
|
//----------------------------------------------------
|
||||||
|
aInfo.SetType(TopAbs_SOLID);
|
||||||
|
FillNbSubShapes(aS, aInfo);
|
||||||
|
FillSubShapes(aS);
|
||||||
|
//
|
||||||
|
aSd=TopoDS::Solid(aS);
|
||||||
|
//
|
||||||
|
aNbShells=NbShells(aSd);
|
||||||
|
if (aNbShells>1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
FillDetails(aSd);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function :FillFace
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillFace(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
Standard_Boolean bIsAllowedType;
|
||||||
|
Standard_Integer aNbWires;//, iRet
|
||||||
|
Standard_Boolean bInf, bInfU1, bInfU2, bInfV1, bInfV2;
|
||||||
|
Standard_Real aUMin, aUMax, aVMin, aVMax, aR1, aR2;
|
||||||
|
gp_Pnt aP0;
|
||||||
|
gp_Dir aDN;
|
||||||
|
gp_Ax3 aAx3;
|
||||||
|
GeomAbs_SurfaceType aST;
|
||||||
|
Handle(Geom_Surface) aSurf;
|
||||||
|
TopoDS_Face aF;
|
||||||
|
//GEOMAlgo_KindOfName aKindOfName;
|
||||||
|
//----------------------------------------------------
|
||||||
|
if (myMapInfo.Contains(aS)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
GEOMAlgo_ShapeInfo aInfoX;
|
||||||
|
myMapInfo.Add(aS, aInfoX);
|
||||||
|
}
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aS);
|
||||||
|
//----------------------------------------------------
|
||||||
|
aInfo.SetType(TopAbs_FACE);
|
||||||
|
//
|
||||||
|
FillNbSubShapes(aS, aInfo);
|
||||||
|
//
|
||||||
|
FillSubShapes(aS);
|
||||||
|
//
|
||||||
|
aF=TopoDS::Face(aS);
|
||||||
|
//
|
||||||
|
aNbWires=NbWires(aF);
|
||||||
|
if (aNbWires>1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aSurf=BRep_Tool::Surface(aF);
|
||||||
|
GeomAdaptor_Surface aGAS(aSurf);
|
||||||
|
aST=aGAS.GetType();
|
||||||
|
bIsAllowedType=IsAllowedType(aST);
|
||||||
|
if (!bIsAllowedType) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 1. Plane
|
||||||
|
if (aST==GeomAbs_Plane) {
|
||||||
|
gp_Pln aPln;
|
||||||
|
//
|
||||||
|
aPln=aGAS.Plane();
|
||||||
|
aP0=aPln.Location();
|
||||||
|
aAx3=aPln.Position();
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_PLANE);
|
||||||
|
aInfo.SetKindOfClosed(GEOMAlgo_KC_NOTCLOSED);
|
||||||
|
aInfo.SetLocation(aP0);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
//
|
||||||
|
//aSurf->Bounds(aUMin, aUMax, aVMin, aVMax);
|
||||||
|
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
||||||
|
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
||||||
|
bInfU2=Precision::IsPositiveInfinite(aUMax);
|
||||||
|
bInfV1=Precision::IsNegativeInfinite(aVMin);
|
||||||
|
bInfV2=Precision::IsPositiveInfinite(aVMax);
|
||||||
|
//
|
||||||
|
bInf=(bInfU1 || bInfU2 || bInfV1 || bInfV2);
|
||||||
|
if (bInf) {
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_INFINITE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
FillDetails(aF, aPln);
|
||||||
|
}// if (aCT==GeomAbs_Line) {
|
||||||
|
//
|
||||||
|
// 2. Sphere
|
||||||
|
else if (aST==GeomAbs_Sphere) {
|
||||||
|
gp_Sphere aSphere;
|
||||||
|
//
|
||||||
|
aSphere=aGAS.Sphere();
|
||||||
|
aP0=aSphere.Location();
|
||||||
|
aAx3=aSphere.Position();
|
||||||
|
aR1=aSphere.Radius();
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_SPHERE);
|
||||||
|
aInfo.SetLocation(aP0);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
aInfo.SetRadius1(aR1);
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
aInfo.SetKindOfClosed(GEOMAlgo_KC_CLOSED);
|
||||||
|
//
|
||||||
|
FillDetails(aF, aSphere);
|
||||||
|
}// else if (aST==GeomAbs_Sphere) {
|
||||||
|
//
|
||||||
|
// 3. Cylinder
|
||||||
|
else if (aST==GeomAbs_Cylinder) {
|
||||||
|
gp_Cylinder aCyl;
|
||||||
|
//
|
||||||
|
aCyl=aGAS.Cylinder();
|
||||||
|
aP0=aCyl.Location();
|
||||||
|
aAx3=aCyl.Position();
|
||||||
|
aR1=aCyl.Radius();
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_CYLINDER);
|
||||||
|
aInfo.SetLocation(aP0);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
aInfo.SetRadius1(aR1);
|
||||||
|
//
|
||||||
|
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
||||||
|
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
||||||
|
bInfU2=Precision::IsPositiveInfinite(aUMax);
|
||||||
|
bInfV1=Precision::IsNegativeInfinite(aVMin);
|
||||||
|
bInfV2=Precision::IsPositiveInfinite(aVMax);
|
||||||
|
//
|
||||||
|
bInf=(bInfU1 || bInfU2 || bInfV1 || bInfV2);
|
||||||
|
if (bInf) {
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_INFINITE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
}
|
||||||
|
FillDetails(aF, aCyl);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 4. Cone
|
||||||
|
else if (aST==GeomAbs_Cone) {
|
||||||
|
gp_Cone aCone;
|
||||||
|
//
|
||||||
|
aCone=aGAS.Cone();
|
||||||
|
aP0=aCone.Location();
|
||||||
|
aAx3=aCone.Position();
|
||||||
|
//aR1=aCyl.Radius();
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_CONE);
|
||||||
|
aInfo.SetLocation(aP0);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
//aInfo.SetRadius1(aR1);
|
||||||
|
//
|
||||||
|
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
||||||
|
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
||||||
|
bInfU2=Precision::IsPositiveInfinite(aUMax);
|
||||||
|
bInfV1=Precision::IsNegativeInfinite(aVMin);
|
||||||
|
bInfV2=Precision::IsPositiveInfinite(aVMax);
|
||||||
|
//
|
||||||
|
bInf=(bInfU1 || bInfU2 || bInfV1 || bInfV2);
|
||||||
|
if (bInf) {
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_INFINITE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
}
|
||||||
|
FillDetails(aF, aCone);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 5. Torus
|
||||||
|
else if (aST==GeomAbs_Torus) {
|
||||||
|
gp_Torus aTorus;
|
||||||
|
//
|
||||||
|
aTorus=aGAS.Torus();
|
||||||
|
aP0=aTorus.Location();
|
||||||
|
aAx3=aTorus.Position();
|
||||||
|
aR1=aTorus.MajorRadius();
|
||||||
|
aR2=aTorus.MinorRadius();
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_TORUS);
|
||||||
|
aInfo.SetLocation(aP0);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
aInfo.SetRadius1(aR1);
|
||||||
|
aInfo.SetRadius2(aR2);
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
|
||||||
|
FillDetails(aF, aTorus);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function :FillEdge
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillEdge(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
Standard_Boolean bDegenerated, bIsAllowedType;
|
||||||
|
Standard_Integer aNbV;
|
||||||
|
Standard_Real aR1, aR2;
|
||||||
|
gp_Pnt aP, aP1, aP2, aPc;
|
||||||
|
gp_Dir aD;
|
||||||
|
gp_Ax2 aAx2;
|
||||||
|
Standard_Real aT1, aT2;
|
||||||
|
GeomAbs_CurveType aCT;
|
||||||
|
Handle(Geom_Curve) aC3D;
|
||||||
|
TopoDS_Edge aE;
|
||||||
|
//----------------------------------------------------
|
||||||
|
if (myMapInfo.Contains(aS)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
GEOMAlgo_ShapeInfo aInfoX;
|
||||||
|
myMapInfo.Add(aS, aInfoX);
|
||||||
|
}
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aS);
|
||||||
|
//----------------------------------------------------
|
||||||
|
aInfo.SetType(TopAbs_EDGE);
|
||||||
|
//
|
||||||
|
FillNbSubShapes(aS, aInfo);
|
||||||
|
//
|
||||||
|
aE=TopoDS::Edge(aS);
|
||||||
|
//
|
||||||
|
bDegenerated=BRep_Tool::Degenerated(aE);
|
||||||
|
if (bDegenerated) {
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_DEGENERATED);
|
||||||
|
FillSubShapes(aS);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aC3D=BRep_Tool::Curve(aE, aT1, aT2);
|
||||||
|
GeomAdaptor_Curve aGAC(aC3D);
|
||||||
|
aCT=aGAC.GetType();
|
||||||
|
bIsAllowedType=IsAllowedType(aCT);
|
||||||
|
if (!bIsAllowedType) {
|
||||||
|
FillSubShapes(aS);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Line
|
||||||
|
if (aCT==GeomAbs_Line) {
|
||||||
|
Standard_Boolean bInf1, bInf2;
|
||||||
|
Standard_Real aLength;
|
||||||
|
gp_Lin aLin;
|
||||||
|
gp_XYZ aXYZ1, aXYZ2, aXYZc;
|
||||||
|
//
|
||||||
|
aLin=aGAC.Line();
|
||||||
|
aP=aLin.Location();
|
||||||
|
aD=aLin.Direction();
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_LINE);
|
||||||
|
aInfo.SetKindOfClosed(GEOMAlgo_KC_NOTCLOSED);
|
||||||
|
aInfo.SetLocation(aP);
|
||||||
|
aInfo.SetDirection(aD);
|
||||||
|
//
|
||||||
|
bInf1=Precision::IsNegativeInfinite(aT1);
|
||||||
|
bInf2=Precision::IsPositiveInfinite(aT2);
|
||||||
|
if (bInf1||bInf2) {
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_INFINITE);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_LINE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_SEGMENT);
|
||||||
|
aGAC.D0(aT1, aP1);
|
||||||
|
aGAC.D0(aT2, aP2);
|
||||||
|
aInfo.SetPnt1(aP1);
|
||||||
|
aInfo.SetPnt2(aP2);
|
||||||
|
//
|
||||||
|
aLength=aP1.Distance(aP2);
|
||||||
|
aXYZ1=aP1.XYZ();
|
||||||
|
aXYZ2=aP2.XYZ();
|
||||||
|
aXYZc=aXYZ1+aXYZ2;
|
||||||
|
aXYZc.Multiply(0.5);
|
||||||
|
//
|
||||||
|
aPc.SetXYZ(aXYZc);
|
||||||
|
gp_Vec aVec(aPc, aP2);
|
||||||
|
gp_Dir aDir(aVec);
|
||||||
|
//
|
||||||
|
aInfo.SetLocation(aPc);
|
||||||
|
aInfo.SetDirection(aDir);
|
||||||
|
aInfo.SetLength(aLength);
|
||||||
|
}
|
||||||
|
}// if (aCT==GeomAbs_Line) {
|
||||||
|
//
|
||||||
|
// Circle
|
||||||
|
else if (aCT==GeomAbs_Circle) {
|
||||||
|
gp_Circ aCirc;
|
||||||
|
//
|
||||||
|
aCirc=aGAC.Circle();
|
||||||
|
aP=aCirc.Location();
|
||||||
|
aAx2=aCirc.Position();
|
||||||
|
aR1=aCirc.Radius();
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_CIRCLE);
|
||||||
|
aInfo.SetLocation(aP);
|
||||||
|
aInfo.SetPosition(aAx2);
|
||||||
|
aInfo.SetRadius1(aR1);
|
||||||
|
//
|
||||||
|
aNbV=aInfo.NbSubShapes(TopAbs_VERTEX);
|
||||||
|
if (!aNbV) {
|
||||||
|
myErrorStatus=11; // circle edge without vertices
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
aGAC.D0(aT1, aP1);
|
||||||
|
aGAC.D0(aT2, aP2);
|
||||||
|
aInfo.SetPnt1(aP1);
|
||||||
|
aInfo.SetPnt2(aP2);
|
||||||
|
//
|
||||||
|
if (aNbV==1) {
|
||||||
|
aInfo.SetKindOfClosed(GEOMAlgo_KC_CLOSED);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_CIRCLE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aInfo.SetKindOfClosed(GEOMAlgo_KC_NOTCLOSED);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_ARCCIRCLE);
|
||||||
|
//
|
||||||
|
gp_Vec aVecX(aP, aP1);
|
||||||
|
gp_Dir aDirX(aVecX);
|
||||||
|
gp_Ax2 aAx2new(aP, aAx2.Direction(), aDirX);
|
||||||
|
aInfo.SetPosition(aAx2new);
|
||||||
|
}
|
||||||
|
}// else if (aCT==GeomAbs_Circle) {
|
||||||
|
//
|
||||||
|
// Ellipse
|
||||||
|
else if (aCT==GeomAbs_Ellipse) {
|
||||||
|
gp_Elips aElips;
|
||||||
|
//
|
||||||
|
aElips=aGAC.Ellipse();
|
||||||
|
aP=aElips.Location();
|
||||||
|
aAx2=aElips.Position();
|
||||||
|
aR1=aElips.MajorRadius();
|
||||||
|
aR2=aElips.MinorRadius();
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfShape(GEOMAlgo_KS_ELLIPSE);
|
||||||
|
aInfo.SetLocation(aP);
|
||||||
|
aInfo.SetPosition(aAx2);
|
||||||
|
aInfo.SetRadius1(aR1);
|
||||||
|
aInfo.SetRadius2(aR2);
|
||||||
|
//
|
||||||
|
aNbV=aInfo.NbSubShapes(TopAbs_VERTEX);
|
||||||
|
if (!aNbV) {
|
||||||
|
myErrorStatus=11; // ellipse edge without vertices
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
aGAC.D0(aT1, aP1);
|
||||||
|
aGAC.D0(aT2, aP2);
|
||||||
|
aInfo.SetPnt1(aP1);
|
||||||
|
aInfo.SetPnt2(aP2);
|
||||||
|
//
|
||||||
|
if (aNbV==1) {
|
||||||
|
aInfo.SetKindOfClosed(GEOMAlgo_KC_CLOSED);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_ELLIPSE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aInfo.SetKindOfClosed(GEOMAlgo_KC_NOTCLOSED);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_ARCELLIPSE);
|
||||||
|
//
|
||||||
|
gp_Vec aVecX(aP, aP1);
|
||||||
|
gp_Dir aDirX(aVecX);
|
||||||
|
gp_Ax2 aAx2new(aP, aAx2.Direction(), aDirX);
|
||||||
|
aInfo.SetPosition(aAx2new);
|
||||||
|
}
|
||||||
|
}// else if (aCT==GeomAbs_Ellipse) {
|
||||||
|
//
|
||||||
|
FillSubShapes(aS);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function :FillVertex
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillVertex(const TopoDS_Shape& aS)
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
gp_Pnt aP;
|
||||||
|
TopoDS_Vertex aV;
|
||||||
|
//
|
||||||
|
if (myMapInfo.Contains(aS)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
GEOMAlgo_ShapeInfo aInfoX;
|
||||||
|
myMapInfo.Add(aS, aInfoX);
|
||||||
|
}
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aS);
|
||||||
|
//
|
||||||
|
aV=TopoDS::Vertex(aS);
|
||||||
|
aP=BRep_Tool::Pnt(aV);
|
||||||
|
//
|
||||||
|
aInfo.SetType(TopAbs_VERTEX);
|
||||||
|
aInfo.SetLocation(aP);
|
||||||
|
myMapInfo.Add(aS, aInfo);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillNbSubshapes
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillNbSubShapes(const TopoDS_Shape& aS,
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo)
|
||||||
|
{
|
||||||
|
myErrorStatus=0;
|
||||||
|
//
|
||||||
|
Standard_Integer i, aNb, aNbS;
|
||||||
|
TopTools_IndexedMapOfShape aM;
|
||||||
|
TopAbs_ShapeEnum aST;
|
||||||
|
TopAbs_ShapeEnum aTypes[]= {
|
||||||
|
//TopAbs_FACE, TopAbs_EDGE, TopAbs_VERTEX
|
||||||
|
TopAbs_COMPOUND,
|
||||||
|
TopAbs_COMPSOLID,
|
||||||
|
TopAbs_SOLID,
|
||||||
|
TopAbs_SHELL,
|
||||||
|
TopAbs_FACE,
|
||||||
|
TopAbs_WIRE,
|
||||||
|
TopAbs_EDGE,
|
||||||
|
TopAbs_VERTEX
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
aST=aS.ShapeType();
|
||||||
|
aNb=sizeof(aTypes)/sizeof(aTypes[0]);
|
||||||
|
for (i=0; i<aNb; ++i) {
|
||||||
|
if (aTypes[i]==aST) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
aM.Clear();
|
||||||
|
TopExp::MapShapes(aS, aTypes[i], aM);
|
||||||
|
aNbS=aM.Extent();
|
||||||
|
aInfo.SetNbSubShapes(aTypes[i], aNbS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function :NbShells
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Integer NbShells(const TopoDS_Solid& aSd)
|
||||||
|
{
|
||||||
|
Standard_Integer iCnt;
|
||||||
|
TopoDS_Iterator aIt;
|
||||||
|
//
|
||||||
|
iCnt=0;
|
||||||
|
//
|
||||||
|
aIt.Initialize(aSd);
|
||||||
|
for (; aIt.More(); aIt.Next()){
|
||||||
|
//const TopoDS_Shape& aSh=aIt.Value();
|
||||||
|
++iCnt;
|
||||||
|
}
|
||||||
|
return iCnt;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : NbWires
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Integer NbWires(const TopoDS_Face& aF)
|
||||||
|
{
|
||||||
|
Standard_Integer iCnt;
|
||||||
|
TopoDS_Iterator aIt;
|
||||||
|
//
|
||||||
|
iCnt=0;
|
||||||
|
//
|
||||||
|
aIt.Initialize(aF);
|
||||||
|
for (; aIt.More(); aIt.Next()){
|
||||||
|
//const TopoDS_Shape& aW=aIt.Value();
|
||||||
|
++iCnt;
|
||||||
|
}
|
||||||
|
return iCnt;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : IsAllowedType
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Boolean IsAllowedType(const GeomAbs_CurveType aCT)
|
||||||
|
{
|
||||||
|
Standard_Boolean bRet;
|
||||||
|
Standard_Integer i, aNb;
|
||||||
|
GeomAbs_CurveType aTypes[]={
|
||||||
|
GeomAbs_Line, GeomAbs_Circle, GeomAbs_Ellipse
|
||||||
|
};
|
||||||
|
//
|
||||||
|
bRet=Standard_False;
|
||||||
|
aNb=sizeof(aTypes)/sizeof(aTypes[0]);
|
||||||
|
for (i=0; i<aNb && !bRet; ++i) {
|
||||||
|
bRet=(aCT==aTypes[i]);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
return bRet;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : IsAllowedType
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
Standard_Boolean IsAllowedType(const GeomAbs_SurfaceType aST)
|
||||||
|
{
|
||||||
|
Standard_Boolean bRet;
|
||||||
|
Standard_Integer i, aNb;
|
||||||
|
GeomAbs_SurfaceType aTypes[]={
|
||||||
|
GeomAbs_Plane, GeomAbs_Cylinder,
|
||||||
|
GeomAbs_Cone, GeomAbs_Sphere,
|
||||||
|
GeomAbs_Torus
|
||||||
|
};
|
||||||
|
//
|
||||||
|
bRet=Standard_False;
|
||||||
|
aNb=sizeof(aTypes)/sizeof(aTypes[0]);
|
||||||
|
for (i=0; i<aNb && !bRet; ++i) {
|
||||||
|
bRet=(aST==aTypes[i]);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
return bRet;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// myErrorStatus
|
||||||
|
//
|
||||||
|
// 0 - Ok
|
||||||
|
// 1 - The object is just initialized
|
||||||
|
//
|
||||||
|
// 10 - Null shape
|
||||||
|
// 11 - circle/ellipse edge without vertices
|
186
src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller.hxx
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
// File generated by CPPExt (Value)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfoFiller_HeaderFile
|
||||||
|
#define _GEOMAlgo_ShapeInfoFiller_HeaderFile
|
||||||
|
|
||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Real_HeaderFile
|
||||||
|
#include <Standard_Real.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_Algo_HeaderFile
|
||||||
|
#include <GEOMAlgo_Algo.hxx>
|
||||||
|
#endif
|
||||||
|
class TopoDS_Shape;
|
||||||
|
class GEOMAlgo_ShapeInfo;
|
||||||
|
class TopoDS_Face;
|
||||||
|
class gp_Pln;
|
||||||
|
class gp_Sphere;
|
||||||
|
class gp_Cylinder;
|
||||||
|
class gp_Cone;
|
||||||
|
class gp_Torus;
|
||||||
|
class TopoDS_Solid;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _Standard_HeaderFile
|
||||||
|
#include <Standard.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _Standard_Macro_HeaderFile
|
||||||
|
#include <Standard_Macro.hxx>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
class GEOMAlgo_ShapeInfoFiller : public GEOMAlgo_Algo {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void* operator new(size_t,void* anAddress)
|
||||||
|
{
|
||||||
|
return anAddress;
|
||||||
|
}
|
||||||
|
void* operator new(size_t size)
|
||||||
|
{
|
||||||
|
return Standard::Allocate(size);
|
||||||
|
}
|
||||||
|
void operator delete(void *anAddress)
|
||||||
|
{
|
||||||
|
if (anAddress) Standard::Free((Standard_Address&)anAddress);
|
||||||
|
}
|
||||||
|
// Methods PUBLIC
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT GEOMAlgo_ShapeInfoFiller();
|
||||||
|
Standard_EXPORT virtual ~GEOMAlgo_ShapeInfoFiller();
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetShape(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const TopoDS_Shape& Shape() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void SetTolerance(const Standard_Real aT) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT Standard_Real Tolerance() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const GEOMAlgo_ShapeInfo& Info() const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT const GEOMAlgo_ShapeInfo& Info(const TopoDS_Shape& aS) const;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT virtual void Perform() ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Methods PROTECTED
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT virtual void CheckData() ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillNbSubShapes(const TopoDS_Shape& aS,GEOMAlgo_ShapeInfo& aInfo) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillSubShapes(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillShape(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillVertex(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillEdge(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillFace(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillSolid(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillContainer(const TopoDS_Shape& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillDetails(const TopoDS_Face& aF,const gp_Pln& aPln) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillDetails(const TopoDS_Face& aF,const gp_Sphere& aSph) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillDetails(const TopoDS_Face& aF,const gp_Cylinder& aCyl) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillDetails(const TopoDS_Face& aF,const gp_Cone& aCone) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillDetails(const TopoDS_Face& aF,const gp_Torus& aTorus) ;
|
||||||
|
|
||||||
|
|
||||||
|
Standard_EXPORT void FillDetails(const TopoDS_Solid& aS) ;
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PROTECTED
|
||||||
|
//
|
||||||
|
TopoDS_Shape myShape;
|
||||||
|
GEOMAlgo_ShapeInfo myEmptyInfo;
|
||||||
|
GEOMAlgo_IndexedDataMapOfShapeShapeInfo myMapInfo;
|
||||||
|
Standard_Real myTolerance;
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Methods PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Fields PRIVATE
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// other Inline functions and methods (like "C++: function call" methods)
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
26
src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller.ixx
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// File generated by CPPExt (Value)
|
||||||
|
//
|
||||||
|
// Copyright (C) 1991 - 2000 by
|
||||||
|
// Matra Datavision SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// Copyright (C) 2001 - 2004 by
|
||||||
|
// Open CASCADE SA. All rights reserved.
|
||||||
|
//
|
||||||
|
// This file is part of the Open CASCADE Technology software.
|
||||||
|
//
|
||||||
|
// This software may be distributed and/or modified under the terms and
|
||||||
|
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||||
|
// and appearing in the file LICENSE included in the packaging of this file.
|
||||||
|
//
|
||||||
|
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||||
|
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||||
|
// including without limitation, any warranties of merchantability, fitness
|
||||||
|
// for a particular purpose or non-infringement. Please see the License for
|
||||||
|
// the specific terms and conditions governing rights and limitations under the
|
||||||
|
// License.
|
||||||
|
|
||||||
|
#include <GEOMAlgo_ShapeInfoFiller.jxx>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
30
src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller.jxx
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#ifndef _TopoDS_Shape_HeaderFile
|
||||||
|
#include <TopoDS_Shape.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfo_HeaderFile
|
||||||
|
#include <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopoDS_Face_HeaderFile
|
||||||
|
#include <TopoDS_Face.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Pln_HeaderFile
|
||||||
|
#include <gp_Pln.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Sphere_HeaderFile
|
||||||
|
#include <gp_Sphere.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Cylinder_HeaderFile
|
||||||
|
#include <gp_Cylinder.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Cone_HeaderFile
|
||||||
|
#include <gp_Cone.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _gp_Torus_HeaderFile
|
||||||
|
#include <gp_Torus.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _TopoDS_Solid_HeaderFile
|
||||||
|
#include <TopoDS_Solid.hxx>
|
||||||
|
#endif
|
||||||
|
#ifndef _GEOMAlgo_ShapeInfoFiller_HeaderFile
|
||||||
|
#include <GEOMAlgo_ShapeInfoFiller.hxx>
|
||||||
|
#endif
|
738
src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller_1.cxx
Normal file
@ -0,0 +1,738 @@
|
|||||||
|
#include <GEOMAlgo_ShapeInfoFiller.ixx>
|
||||||
|
|
||||||
|
#include <Precision.hxx>
|
||||||
|
|
||||||
|
#include <gp_Lin.hxx>
|
||||||
|
#include <gp_XYZ.hxx>
|
||||||
|
#include <gp_Ax1.hxx>
|
||||||
|
#include <gp_Dir.hxx>
|
||||||
|
#include <gp_Vec.hxx>
|
||||||
|
#include <gp_Ax2.hxx>
|
||||||
|
#include <gp_Ax3.hxx>
|
||||||
|
|
||||||
|
#include <ElCLib.hxx>
|
||||||
|
|
||||||
|
#include <TopoDS.hxx>
|
||||||
|
#include <TopoDS_Vertex.hxx>
|
||||||
|
#include <TopoDS_Edge.hxx>
|
||||||
|
#include <TopoDS_Wire.hxx>
|
||||||
|
#include <TopoDS_Face.hxx>
|
||||||
|
#include <TopoDS_Iterator.hxx>
|
||||||
|
|
||||||
|
#include <BRep_Tool.hxx>
|
||||||
|
|
||||||
|
#include <TopExp.hxx>
|
||||||
|
#include <TopExp_Explorer.hxx>
|
||||||
|
|
||||||
|
#include <TopTools_MapOfShape.hxx>
|
||||||
|
#include <TopTools_IndexedMapOfShape.hxx>
|
||||||
|
#include <BRepTools_WireExplorer.hxx>
|
||||||
|
|
||||||
|
#include <GEOMAlgo_ShapeInfo.hxx>
|
||||||
|
#include <TColStd_MapOfInteger.hxx>
|
||||||
|
#include <TColStd_IndexedMapOfInteger.hxx>
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillDetails
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Solid& aSd)
|
||||||
|
{
|
||||||
|
Standard_Integer i, aNbF, aNbCyl, aNbCon, aNbPgn, aNbRct, aNbCrc, aNbX;
|
||||||
|
TopoDS_Shape aFCyl, aFCon;
|
||||||
|
TopTools_IndexedMapOfShape aMF;
|
||||||
|
GEOMAlgo_KindOfName aKNF;
|
||||||
|
//
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aSd);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_UNKNOWN);
|
||||||
|
//
|
||||||
|
TopExp::MapShapes(aSd, TopAbs_FACE, aMF);
|
||||||
|
//
|
||||||
|
aNbF=aMF.Extent();
|
||||||
|
if (!aNbF) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (aNbF==1) {
|
||||||
|
const TopoDS_Shape& aF=aMF(1);
|
||||||
|
GEOMAlgo_ShapeInfo& aInfoF=myMapInfo.ChangeFromKey(aF);
|
||||||
|
aKNF=aInfoF.KindOfName(); // mb: sphere, torus
|
||||||
|
if (aKNF==GEOMAlgo_KN_SPHERE ||
|
||||||
|
aKNF==GEOMAlgo_KN_TORUS) {
|
||||||
|
aInfo.SetKindOfName(aKNF);
|
||||||
|
aInfo.SetLocation(aInfoF.Location());
|
||||||
|
aInfo.SetPosition(aInfoF.Position());
|
||||||
|
aInfo.SetRadius1(aInfoF.Radius1());
|
||||||
|
if(aKNF==GEOMAlgo_KN_TORUS) {
|
||||||
|
aInfo.SetRadius2(aInfoF.Radius2());
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbCyl=0;
|
||||||
|
aNbCon=0;
|
||||||
|
aNbPgn=0;
|
||||||
|
aNbRct=0;
|
||||||
|
aNbCrc=0;
|
||||||
|
for (i=1; i<=aNbF; ++i) {
|
||||||
|
const TopoDS_Shape& aF=aMF(i);
|
||||||
|
GEOMAlgo_ShapeInfo& aInfoF=myMapInfo.ChangeFromKey(aF);
|
||||||
|
aKNF=aInfoF.KindOfName();
|
||||||
|
if (aKNF==GEOMAlgo_KN_CYLINDER) {
|
||||||
|
aFCyl=aF;
|
||||||
|
++aNbCyl;
|
||||||
|
}
|
||||||
|
else if (aKNF==GEOMAlgo_KN_CONE) {
|
||||||
|
aFCon=aF;
|
||||||
|
++aNbCon;
|
||||||
|
}
|
||||||
|
else if (aKNF==GEOMAlgo_KN_DISKCIRCLE) {
|
||||||
|
++aNbCrc;
|
||||||
|
}
|
||||||
|
else if (aKNF==GEOMAlgo_KN_POLYGON ||
|
||||||
|
aKNF==GEOMAlgo_KN_TRIANGLE ||
|
||||||
|
aKNF==GEOMAlgo_KN_QUADRANGLE) {
|
||||||
|
++aNbPgn;
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (aKNF==GEOMAlgo_KN_RECTANGLE) {
|
||||||
|
++aNbPgn;
|
||||||
|
++aNbRct;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbX=aNbCyl+aNbCrc;
|
||||||
|
if (aNbCyl==1 && aNbCrc==2 && aNbX==aNbF) {
|
||||||
|
// cylinder (as they understand it)
|
||||||
|
GEOMAlgo_ShapeInfo& aInfoF=myMapInfo.ChangeFromKey(aFCyl);
|
||||||
|
aKNF=aInfoF.KindOfName();
|
||||||
|
aInfo.SetKindOfName(aKNF);
|
||||||
|
aInfo.SetLocation(aInfoF.Location());
|
||||||
|
aInfo.SetPosition(aInfoF.Position());
|
||||||
|
aInfo.SetRadius1(aInfoF.Radius1());
|
||||||
|
aInfo.SetHeight(aInfoF.Height());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbX=aNbCon+aNbCrc;
|
||||||
|
if (aNbCon==1 && (aNbCrc==1 || aNbCrc==2) && aNbX==aNbF) {
|
||||||
|
// cone
|
||||||
|
GEOMAlgo_ShapeInfo& aInfoF=myMapInfo.ChangeFromKey(aFCon);
|
||||||
|
aKNF=aInfoF.KindOfName();
|
||||||
|
aInfo.SetKindOfName(aKNF);
|
||||||
|
aInfo.SetLocation(aInfoF.Location());
|
||||||
|
aInfo.SetPosition(aInfoF.Position());
|
||||||
|
aInfo.SetRadius1(aInfoF.Radius1());
|
||||||
|
aInfo.SetRadius2(aInfoF.Radius2());
|
||||||
|
aInfo.SetHeight(aInfoF.Height());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (aNbPgn!=6) {
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_POLYHEDRON);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (aNbPgn!=aNbRct) {
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_POLYHEDRON);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//===================================================
|
||||||
|
// aNbRct=6;
|
||||||
|
// box
|
||||||
|
Standard_Integer j, aNbFi, aNbV, iMax, iMin, iMid;
|
||||||
|
Standard_Real aDot, aLength, aWidth, aHeight, aDist[3];
|
||||||
|
Standard_Real aDistMin, aDistMax;
|
||||||
|
gp_Pnt aPi, aPc;
|
||||||
|
gp_Dir aDir[3];
|
||||||
|
gp_XYZ aXYZc;
|
||||||
|
TColStd_IndexedMapOfInteger aMp;
|
||||||
|
TopTools_IndexedMapOfShape aMV, aMFi;
|
||||||
|
//
|
||||||
|
// barycenter aPc
|
||||||
|
TopExp::MapShapes(aSd, TopAbs_VERTEX, aMV);
|
||||||
|
aNbV=aMV.Extent();
|
||||||
|
if (aNbV!=8) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aXYZc.SetCoord(0.,0.,0.);
|
||||||
|
for (i=1; i<=aNbV; ++i) {
|
||||||
|
const TopoDS_Vertex& aVi=TopoDS::Vertex(aMV(i));
|
||||||
|
aPi=BRep_Tool::Pnt(aVi);
|
||||||
|
const gp_XYZ& aXYZ=aPi.XYZ();
|
||||||
|
aXYZc=aXYZc+aXYZ;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aXYZc.Divide(aNbV);
|
||||||
|
aPc.SetXYZ(aXYZc);
|
||||||
|
//
|
||||||
|
// 3 faces
|
||||||
|
for (i=1; i<=aNbF; ++i) {
|
||||||
|
if (aMp.Contains(i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const TopoDS_Shape& aFi=aMF(i);
|
||||||
|
const GEOMAlgo_ShapeInfo& aIFi=myMapInfo.FindFromKey(aFi);
|
||||||
|
const gp_Dir& aDNi=aIFi.Position().Direction();
|
||||||
|
//
|
||||||
|
for (j=i+1; j<=aNbF; ++j) {
|
||||||
|
if (aMp.Contains(j)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const TopoDS_Shape& aFj=aMF(j);
|
||||||
|
const GEOMAlgo_ShapeInfo& aIFj=myMapInfo.FindFromKey(aFj);
|
||||||
|
const gp_Dir& aDNj=aIFj.Position().Direction();
|
||||||
|
//
|
||||||
|
aDot=aDNi*aDNj;
|
||||||
|
if (fabs(1.-aDot)<0.0001) {
|
||||||
|
aMp.Add(i);
|
||||||
|
aMp.Add(j);
|
||||||
|
aMFi.Add(aFi);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
aNbFi=aMFi.Extent();
|
||||||
|
if (aNbFi!=3) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aDistMin=1.e15;
|
||||||
|
aDistMax=-aDistMin;
|
||||||
|
for (i=0; i<aNbFi; ++i) {
|
||||||
|
const TopoDS_Shape& aFi=aMFi(i+1);
|
||||||
|
const GEOMAlgo_ShapeInfo& aIFi=myMapInfo.FindFromKey(aFi);
|
||||||
|
aPi=aIFi.Location();
|
||||||
|
aDist[i]=aPc.Distance(aPi);
|
||||||
|
if (aDist[i]>aDistMax) {
|
||||||
|
aDistMax=aDist[i];
|
||||||
|
iMax=i;
|
||||||
|
}
|
||||||
|
if (aDist[i]<aDistMin) {
|
||||||
|
aDistMin=aDist[i];
|
||||||
|
iMin=i;
|
||||||
|
}
|
||||||
|
gp_Vec aVi(aPc, aPi);
|
||||||
|
gp_Dir aDi(aVi);
|
||||||
|
aDir[i]=aDi;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (iMax==iMin) {
|
||||||
|
iMax=0;
|
||||||
|
iMin=1;
|
||||||
|
}
|
||||||
|
iMid=3-iMax-iMin;
|
||||||
|
//
|
||||||
|
aLength=2.*aDist[iMax];
|
||||||
|
aWidth=2.*aDist[iMid];
|
||||||
|
aHeight=2.*aDist[iMin];
|
||||||
|
//
|
||||||
|
gp_Ax2 aAx2(aPc, aDir[iMin], aDir[iMax]);
|
||||||
|
gp_Ax3 aAx3(aAx2);
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_BOX);
|
||||||
|
aInfo.SetLocation(aPc);
|
||||||
|
aInfo.SetLength(aLength);
|
||||||
|
aInfo.SetWidth(aWidth);
|
||||||
|
aInfo.SetHeight(aHeight);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillDetails
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
|
||||||
|
const gp_Pln& aPln)
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE, i, j;
|
||||||
|
Standard_Real aDot, aD0, aD1, aLength, aWidth;
|
||||||
|
gp_Dir aDx[4], aDX;
|
||||||
|
gp_Pnt aPx[4], aP, aPc;
|
||||||
|
gp_XYZ aXYZc;
|
||||||
|
TopExp_Explorer aExp;
|
||||||
|
TopoDS_Shape aE;
|
||||||
|
TopoDS_Wire aW;
|
||||||
|
TopoDS_Edge aEx;
|
||||||
|
TopoDS_Iterator aIt;
|
||||||
|
TopTools_IndexedMapOfShape aMV;
|
||||||
|
BRepTools_WireExplorer aWExp;
|
||||||
|
GEOMAlgo_KindOfName aKN, aKNE;
|
||||||
|
GEOMAlgo_KindOfShape aKS;
|
||||||
|
//
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aF);
|
||||||
|
aKN=GEOMAlgo_KN_UNKNOWN;
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_UNKNOWN);
|
||||||
|
//
|
||||||
|
aKS=aInfo.KindOfShape();
|
||||||
|
if (aKS!=GEOMAlgo_KS_PLANE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (aInfo.KindOfBounds()==GEOMAlgo_KB_INFINITE) {
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_PLANE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbV=aInfo.NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=aInfo.NbSubShapes(TopAbs_EDGE);
|
||||||
|
//
|
||||||
|
// 1. may be it is circle/ellipse
|
||||||
|
if (aNbV==1 && aNbE==1) {
|
||||||
|
aExp.Init(aF, TopAbs_EDGE);
|
||||||
|
for (; aExp.More(); aExp.Next()) {
|
||||||
|
aE=aExp.Current();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const GEOMAlgo_ShapeInfo& aInfoE=myMapInfo.FindFromKey(aE);
|
||||||
|
aKNE=aInfoE.KindOfName();
|
||||||
|
if (aKNE==GEOMAlgo_KN_CIRCLE) {
|
||||||
|
aKN=GEOMAlgo_KN_DISKCIRCLE;
|
||||||
|
aInfo.SetKindOfName(aKN);
|
||||||
|
aInfo.SetRadius1(aInfoE.Radius1());
|
||||||
|
aInfo.SetLocation(aInfoE.Location());
|
||||||
|
aInfo.SetPosition(aInfoE.Position());
|
||||||
|
}
|
||||||
|
if (aKNE==GEOMAlgo_KN_ELLIPSE) {
|
||||||
|
aKN=GEOMAlgo_KN_DISKELLIPSE;
|
||||||
|
aInfo.SetKindOfName(aKN);
|
||||||
|
aInfo.SetRadius1(aInfoE.Radius1());
|
||||||
|
aInfo.SetRadius2(aInfoE.Radius2());
|
||||||
|
aInfo.SetLocation(aInfoE.Location());
|
||||||
|
aInfo.SetPosition(aInfoE.Position());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// 2. may be it is rectangle
|
||||||
|
else {
|
||||||
|
aExp.Init(aF, TopAbs_EDGE);
|
||||||
|
for (; aExp.More(); aExp.Next()) {
|
||||||
|
aE=aExp.Current();
|
||||||
|
const GEOMAlgo_ShapeInfo& aInfoE=myMapInfo.FindFromKey(aE);
|
||||||
|
aKNE=aInfoE.KindOfName();
|
||||||
|
if (aKNE!=GEOMAlgo_KN_SEGMENT) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_POLYGON);
|
||||||
|
//
|
||||||
|
if (aNbV==3 && aNbE==3) {
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_TRIANGLE);
|
||||||
|
//
|
||||||
|
aXYZc.SetCoord(0.,0.,0.);
|
||||||
|
TopExp::MapShapes(aF, TopAbs_VERTEX, aMV);
|
||||||
|
for (i=1; i<=aNbV; ++i) {
|
||||||
|
const TopoDS_Vertex& aV=TopoDS::Vertex(aMV(i));
|
||||||
|
aP=BRep_Tool::Pnt(aV);
|
||||||
|
const gp_XYZ& aXYZ=aP.XYZ();
|
||||||
|
aXYZc=aXYZc+aXYZ;
|
||||||
|
aPx[i-1]=aP;
|
||||||
|
}
|
||||||
|
aXYZc.Divide(3.);
|
||||||
|
//
|
||||||
|
aPc.SetXYZ(aXYZc);
|
||||||
|
gp_Vec aVX(aPc, aPx[0]);
|
||||||
|
aVX.Normalize();
|
||||||
|
aDX.SetXYZ(aVX.XYZ());
|
||||||
|
const gp_Dir& aDZ=aPln.Axis().Direction();
|
||||||
|
//
|
||||||
|
gp_Ax2 aAx2(aPc, aDZ, aDX);
|
||||||
|
gp_Ax3 aAx3(aAx2);
|
||||||
|
//
|
||||||
|
aInfo.SetLocation(aPc);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
//
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (!(aNbV==4 && aNbE==4)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// aNbV==4 && aNbE==4 and all edges are segments
|
||||||
|
aIt.Initialize(aF);
|
||||||
|
for (; aIt.More(); aIt.Next()){
|
||||||
|
aW=TopoDS::Wire(aIt.Value());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aWExp.Init(aW, aF);
|
||||||
|
for (i=0; aWExp.More(); aWExp.Next(), ++i) {
|
||||||
|
aEx=aWExp.Current();
|
||||||
|
const GEOMAlgo_ShapeInfo& aInfoEx=myMapInfo.FindFromKey(aEx);
|
||||||
|
aDx[i]=aInfoEx.Direction();
|
||||||
|
aPx[i]=aInfoEx.Location();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
for (i=0; i<4; ++i) {
|
||||||
|
j=(i==3) ? 0 : i+1;
|
||||||
|
aDot=aDx[i]*aDx[j];
|
||||||
|
if (fabs (aDot) > myTolerance) {
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_QUADRANGLE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// rectangle
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_RECTANGLE);
|
||||||
|
//
|
||||||
|
// shift location to the center and calc. sizes
|
||||||
|
aXYZc.SetCoord(0.,0.,0.);
|
||||||
|
TopExp::MapShapes(aF, TopAbs_VERTEX, aMV);
|
||||||
|
for (i=1; i<=aNbV; ++i) {
|
||||||
|
const TopoDS_Vertex& aV=TopoDS::Vertex(aMV(i));
|
||||||
|
aP=BRep_Tool::Pnt(aV);
|
||||||
|
const gp_XYZ& aXYZ=aP.XYZ();
|
||||||
|
aXYZc=aXYZc+aXYZ;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// Location : aPc in center of rectangle
|
||||||
|
// Position : 0z is plane normal
|
||||||
|
// 0x is along length
|
||||||
|
//
|
||||||
|
aXYZc.Divide(4.);
|
||||||
|
aPc.SetXYZ(aXYZc);
|
||||||
|
//
|
||||||
|
gp_Lin aL0(aPx[0], aDx[0]);
|
||||||
|
gp_Lin aL1(aPx[1], aDx[1]);
|
||||||
|
//
|
||||||
|
aD0=aL0.Distance(aPc);
|
||||||
|
aD1=aL1.Distance(aPc);
|
||||||
|
//
|
||||||
|
aLength=aD0;
|
||||||
|
aWidth =aD1;
|
||||||
|
aDX=aL1.Direction();
|
||||||
|
if (aD0<aD1) {
|
||||||
|
aLength=aD1;
|
||||||
|
aWidth =aD0;
|
||||||
|
aDX=aL0.Direction();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aLength=2.*aLength;
|
||||||
|
aWidth =2.*aWidth;
|
||||||
|
//
|
||||||
|
aInfo.SetLocation(aPc);
|
||||||
|
aInfo.SetLength(aLength);
|
||||||
|
aInfo.SetWidth(aWidth);
|
||||||
|
//
|
||||||
|
const gp_Dir& aDZ=aPln.Axis().Direction();
|
||||||
|
gp_Ax2 aAx2(aPc, aDZ, aDX);
|
||||||
|
gp_Ax3 aAx3(aAx2);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillDetails
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
|
||||||
|
const gp_Sphere& )
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE, aNbSE, aNbDE;
|
||||||
|
TopoDS_Edge aE;
|
||||||
|
TopExp_Explorer aExp;
|
||||||
|
TopTools_MapOfShape aM;
|
||||||
|
GEOMAlgo_KindOfShape aKS, aKSE;
|
||||||
|
//
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aF);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_UNKNOWN);
|
||||||
|
//
|
||||||
|
aKS=aInfo.KindOfShape();
|
||||||
|
if (aKS!=GEOMAlgo_KS_SPHERE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbV=aInfo.NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=aInfo.NbSubShapes(TopAbs_EDGE);
|
||||||
|
if (!(aNbV==2 && aNbE==3)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbSE=0;
|
||||||
|
aNbDE=0;
|
||||||
|
aExp.Init(aF, TopAbs_EDGE);
|
||||||
|
for (; aExp.More(); aExp.Next()) {
|
||||||
|
aE=TopoDS::Edge(aExp.Current());
|
||||||
|
if(aM.Add(aE)) {
|
||||||
|
const GEOMAlgo_ShapeInfo& aInfoE=myMapInfo.FindFromKey(aE);
|
||||||
|
aKSE=aInfoE.KindOfShape();
|
||||||
|
//
|
||||||
|
if (BRep_Tool::IsClosed(aE, aF)) {
|
||||||
|
++aNbSE;
|
||||||
|
}
|
||||||
|
else if (aKSE==GEOMAlgo_KS_DEGENERATED) {
|
||||||
|
++aNbDE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (!(aNbSE==1 && aNbDE==2)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_SPHERE);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillDetails
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
|
||||||
|
const gp_Cone& )//aCone)
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE, aNbCE, aNbSE, aNbDE, i;
|
||||||
|
Standard_Real aR[3], aHeight;
|
||||||
|
gp_Pnt aPC[3], aPD, aPc, aPX[3];
|
||||||
|
TopoDS_Vertex aVD;
|
||||||
|
TopoDS_Edge aE;
|
||||||
|
TopoDS_Iterator aIt;
|
||||||
|
TopExp_Explorer aExp;
|
||||||
|
TopTools_MapOfShape aM;
|
||||||
|
GEOMAlgo_KindOfShape aKS, aKSE;
|
||||||
|
GEOMAlgo_KindOfName aKN, aKNE;
|
||||||
|
GEOMAlgo_KindOfClosed aKCE;
|
||||||
|
//
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aF);
|
||||||
|
aKN=GEOMAlgo_KN_UNKNOWN;
|
||||||
|
aInfo.SetKindOfName(aKN);
|
||||||
|
//
|
||||||
|
aKS=aInfo.KindOfShape();
|
||||||
|
if (aKS!=GEOMAlgo_KS_CONE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (aInfo.KindOfBounds()==GEOMAlgo_KB_INFINITE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbV=aInfo.NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=aInfo.NbSubShapes(TopAbs_EDGE);
|
||||||
|
if (!(aNbV==2 && aNbE==3)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
i=0;
|
||||||
|
aNbCE=0;
|
||||||
|
aNbSE=0;
|
||||||
|
aNbDE=0;
|
||||||
|
aExp.Init(aF, TopAbs_EDGE);
|
||||||
|
for (; aExp.More(); aExp.Next()) {
|
||||||
|
aE=TopoDS::Edge(aExp.Current());
|
||||||
|
if(aM.Add(aE)) {
|
||||||
|
const GEOMAlgo_ShapeInfo& aInfoE=myMapInfo.FindFromKey(aE);
|
||||||
|
aKNE=aInfoE.KindOfName();
|
||||||
|
aKCE=aInfoE.KindOfClosed();
|
||||||
|
aKSE=aInfoE.KindOfShape();
|
||||||
|
if (aKNE==GEOMAlgo_KN_CIRCLE && aKCE==GEOMAlgo_KC_CLOSED) {
|
||||||
|
aPC[i]=aInfoE.Location();
|
||||||
|
aR[i]=aInfoE.Radius1();
|
||||||
|
//
|
||||||
|
aIt.Initialize(aE);
|
||||||
|
for (; aIt.More(); aIt.Next()) {
|
||||||
|
aVD=TopoDS::Vertex(aIt.Value());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
aPX[i]=BRep_Tool::Pnt(aVD);
|
||||||
|
//
|
||||||
|
++i;
|
||||||
|
++aNbCE;
|
||||||
|
}
|
||||||
|
else if (aKNE==GEOMAlgo_KN_SEGMENT) {
|
||||||
|
if (BRep_Tool::IsClosed(aE, aF)) {
|
||||||
|
++aNbSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (aKSE==GEOMAlgo_KS_DEGENERATED) {
|
||||||
|
aIt.Initialize(aE);
|
||||||
|
for (; aIt.More(); aIt.Next()) {
|
||||||
|
aVD=TopoDS::Vertex(aIt.Value());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aPD=BRep_Tool::Pnt(aVD);
|
||||||
|
//
|
||||||
|
++aNbDE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (!((aNbCE==2 || (aNbCE==1 && aNbDE==1)) && aNbSE==1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (aNbDE==1) {
|
||||||
|
aPC[1]=aPD;
|
||||||
|
aR[1]=0.;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aHeight=aPC[0].Distance(aPC[1]);
|
||||||
|
//
|
||||||
|
Standard_Real aRmin, aRmax;
|
||||||
|
gp_Ax2 aAx2new;
|
||||||
|
//
|
||||||
|
if (aR[0]>aR[1]) {
|
||||||
|
aRmin=aR[1];
|
||||||
|
aRmax=aR[0];
|
||||||
|
aPc=aPC[0];
|
||||||
|
gp_Vec aVz(aPC[0], aPC[1]);
|
||||||
|
gp_Vec aVx(aPC[0], aPX[0]);
|
||||||
|
gp_Dir aDz(aVz);
|
||||||
|
gp_Dir aDx(aVx);
|
||||||
|
gp_Ax2 aAx2(aPc, aDz, aDx);
|
||||||
|
aAx2new=aAx2;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aRmin=aR[0];
|
||||||
|
aRmax=aR[1];
|
||||||
|
aPc=aPC[1];
|
||||||
|
gp_Vec aVz(aPC[1], aPC[0]);
|
||||||
|
gp_Vec aVx(aPC[1], aPX[1]);
|
||||||
|
gp_Dir aDz(aVz);
|
||||||
|
gp_Dir aDx(aVx);
|
||||||
|
gp_Ax2 aAx2(aPc, aDz, aDx);
|
||||||
|
aAx2new=aAx2;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
gp_Ax3 aAx3(aAx2new);
|
||||||
|
aInfo.SetLocation(aPc);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
aInfo.SetRadius1(aRmax);
|
||||||
|
aInfo.SetRadius2(aRmin);
|
||||||
|
aInfo.SetHeight(aHeight);
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_CONE);
|
||||||
|
}
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillDetails
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
|
||||||
|
const gp_Cylinder& aCyl)
|
||||||
|
{
|
||||||
|
Standard_Integer i, aNbV, aNbE, aNbCE, aNbSE;
|
||||||
|
Standard_Real aT0, aT1, aHeight;
|
||||||
|
gp_Pnt aPC[3], aPc;
|
||||||
|
TopoDS_Edge aE;
|
||||||
|
TopExp_Explorer aExp;
|
||||||
|
TopTools_MapOfShape aM;
|
||||||
|
GEOMAlgo_KindOfShape aKS;
|
||||||
|
GEOMAlgo_KindOfName aKN, aKNE;
|
||||||
|
GEOMAlgo_KindOfClosed aKCE;
|
||||||
|
//
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aF);
|
||||||
|
aKN=GEOMAlgo_KN_UNKNOWN;
|
||||||
|
aInfo.SetKindOfName(aKN);
|
||||||
|
//
|
||||||
|
aKS=aInfo.KindOfShape();
|
||||||
|
if (aKS!=GEOMAlgo_KS_CYLINDER) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (aInfo.KindOfBounds()==GEOMAlgo_KB_INFINITE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbV=aInfo.NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=aInfo.NbSubShapes(TopAbs_EDGE);
|
||||||
|
if (!(aNbV==2 && aNbE==3)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
i=0;
|
||||||
|
aNbCE=0;
|
||||||
|
aNbSE=0;
|
||||||
|
aExp.Init(aF, TopAbs_EDGE);
|
||||||
|
for (; aExp.More(); aExp.Next()) {
|
||||||
|
aE=TopoDS::Edge(aExp.Current());
|
||||||
|
if(aM.Add(aE)) {
|
||||||
|
const GEOMAlgo_ShapeInfo& aInfoE=myMapInfo.FindFromKey(aE);
|
||||||
|
aKNE=aInfoE.KindOfName();
|
||||||
|
aKCE=aInfoE.KindOfClosed();
|
||||||
|
if (aKNE==GEOMAlgo_KN_CIRCLE && aKCE==GEOMAlgo_KC_CLOSED) {
|
||||||
|
aPC[aNbCE]=aInfoE.Location();
|
||||||
|
++aNbCE;
|
||||||
|
}
|
||||||
|
else if (aKNE==GEOMAlgo_KN_SEGMENT) {
|
||||||
|
if (BRep_Tool::IsClosed(aE, aF)) {
|
||||||
|
++aNbSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (!(aNbCE==2 && aNbSE==1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const gp_Ax1& aAx1=aCyl.Axis();
|
||||||
|
const gp_Dir& aDir=aAx1.Direction();
|
||||||
|
const gp_Pnt& aPLoc=aAx1.Location();
|
||||||
|
gp_Lin aLin(aPLoc, aDir);
|
||||||
|
//
|
||||||
|
aT0=ElCLib::Parameter(aLin, aPC[0]);
|
||||||
|
aT1=ElCLib::Parameter(aLin, aPC[1]);
|
||||||
|
//
|
||||||
|
aPc=aPC[0];;
|
||||||
|
if (aT0>aT1) {
|
||||||
|
aPc=aPC[1];
|
||||||
|
}
|
||||||
|
aHeight=aPC[0].Distance(aPC[1]);
|
||||||
|
//
|
||||||
|
gp_Ax3 aAx3=aCyl.Position();
|
||||||
|
aAx3.SetLocation(aPc);
|
||||||
|
//
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_CYLINDER);
|
||||||
|
aInfo.SetPosition(aAx3);
|
||||||
|
aInfo.SetLocation(aPc);
|
||||||
|
aInfo.SetHeight(aHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : FillDetails
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
|
||||||
|
const gp_Torus& )
|
||||||
|
{
|
||||||
|
Standard_Integer aNbV, aNbE, aNbSE;
|
||||||
|
TopoDS_Edge aE;
|
||||||
|
TopExp_Explorer aExp;
|
||||||
|
TopTools_MapOfShape aM;
|
||||||
|
GEOMAlgo_KindOfShape aKS;
|
||||||
|
//
|
||||||
|
GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aF);
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_UNKNOWN);
|
||||||
|
//
|
||||||
|
aKS=aInfo.KindOfShape();
|
||||||
|
if (aKS!=GEOMAlgo_KS_TORUS) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbV=aInfo.NbSubShapes(TopAbs_VERTEX);
|
||||||
|
aNbE=aInfo.NbSubShapes(TopAbs_EDGE);
|
||||||
|
if (!(aNbV==1 && aNbE==2)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
aNbSE=0;
|
||||||
|
aExp.Init(aF, TopAbs_EDGE);
|
||||||
|
for (; aExp.More(); aExp.Next()) {
|
||||||
|
aE=TopoDS::Edge(aExp.Current());
|
||||||
|
if (aM.Add(aE)) {
|
||||||
|
//const GEOMAlgo_ShapeInfo& aInfoE=myMapInfo.FindFromKey(aE);
|
||||||
|
if (BRep_Tool::IsClosed(aE, aF)) {
|
||||||
|
++aNbSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
if (aNbSE!=2) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
aInfo.SetKindOfName(GEOMAlgo_KN_TORUS);
|
||||||
|
}
|
@ -115,7 +115,7 @@ static
|
|||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_WESCorrector::DoConnexityBlocks()
|
void GEOMAlgo_WESCorrector::DoConnexityBlocks()
|
||||||
{
|
{
|
||||||
Standard_Boolean bRegular;
|
Standard_Boolean bRegular, bClosed;
|
||||||
Standard_Integer i, aNbV, j, aNbC, aNbVP, aNbVS;
|
Standard_Integer i, aNbV, j, aNbC, aNbVP, aNbVS;
|
||||||
TopTools_ListIteratorOfListOfShape aIt;
|
TopTools_ListIteratorOfListOfShape aIt;
|
||||||
TopoDS_Iterator aItE;
|
TopoDS_Iterator aItE;
|
||||||
@ -208,17 +208,17 @@ static
|
|||||||
aER=aMEC(j);
|
aER=aMEC(j);
|
||||||
//
|
//
|
||||||
if (aMER.Contains(aER)) {
|
if (aMER.Contains(aER)) {
|
||||||
Standard_Boolean bClosed;
|
|
||||||
//
|
|
||||||
aER.Orientation(TopAbs_FORWARD);
|
aER.Orientation(TopAbs_FORWARD);
|
||||||
aLEC.Append(aER);
|
aLEC.Append(aER);
|
||||||
aER.Orientation(TopAbs_REVERSED);
|
aER.Orientation(TopAbs_REVERSED);
|
||||||
aLEC.Append(aER);
|
aLEC.Append(aER);
|
||||||
//
|
//
|
||||||
bClosed=BRep_Tool::IsClosed(TopoDS::Edge(aER), myWES->Face());
|
//modified by NIZNHY-PKV Tue Nov 28 12:02:29 2006f
|
||||||
if (!bClosed) {
|
//bClosed=BRep_Tool::IsClosed(TopoDS::Edge(aER), myWES->Face());
|
||||||
|
//if (!bClosed) {
|
||||||
bRegular=Standard_False;
|
bRegular=Standard_False;
|
||||||
}
|
//}
|
||||||
|
//modified by NIZNHY-PKV Tue Nov 28 12:02:33 2006t
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
aLEC.Append(aER);
|
aLEC.Append(aER);
|
||||||
@ -234,11 +234,12 @@ static
|
|||||||
//
|
//
|
||||||
aNbVR=aMVER.Extent();
|
aNbVR=aMVER.Extent();
|
||||||
for (k=1; k<=aNbVR; ++k) {
|
for (k=1; k<=aNbVR; ++k) {
|
||||||
const TopTools_ListOfShape& aLER=aMVER(k);//?? it was aMVE(k)
|
const TopTools_ListOfShape& aLER=aMVER(k);
|
||||||
aNbER=aLER.Extent();
|
aNbER=aLER.Extent();
|
||||||
if (aNbER==1) {
|
if (aNbER==1) {
|
||||||
const TopoDS_Edge& aEx=TopoDS::Edge(aER);
|
const TopoDS_Edge& aEx=TopoDS::Edge(aER);
|
||||||
if (!BRep_Tool::IsClosed(aEx, myWES->Face())) {
|
bClosed=BRep_Tool::IsClosed(aEx, myWES->Face());
|
||||||
|
if (!bClosed) {
|
||||||
bRegular=!bRegular;
|
bRegular=!bRegular;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|