doc/salome/gui/GEOM/doxyfile \
doc/salome/gui/GEOM/doxyfile_py \
doc/salome/gui/GEOM/doxyfile_tui \
+ doc/salome/gui/GEOM/static/header.html \
doc/salome/tui/Makefile \
doc/salome/tui/doxyfile \
+ doc/salome/tui/static/header.html \
src/Makefile \
src/AdvancedGUI/Makefile \
src/ARCHIMEDE/Makefile \
#
include $(top_srcdir)/adm_local/unix/make_common_starter.am
-EXTRA_DIST += images input static
+EXTRA_DIST += images input static/footer.html static/doxygen.css
-usr_docs: doxyfile_tui doxyfile_py doxyfile
+guidocdir = $(docdir)/gui/GEOM
+guidoc_DATA = images/head.png
+
+usr_docs: doxyfile_tui doxyfile_py doxyfile
echo "===========================================" ; \
echo "Replacing geompyDC by geompy" ; \
echo "===========================================" ; \
echo "===========================================" ; \
echo "Generating GUI documentation" ; \
echo "===========================================" ; \
- $(DOXYGEN) doxyfile ; \
+ $(DOXYGEN) doxyfile ; \
rm -f $(top_builddir)/src/GEOM_SWIG/geompy.py
docs: usr_docs
clean-local:
- @for filen in `find . -maxdepth 1` ; do \
+ @for filen in `find . -maxdepth 1` ; do \
case $${filen} in \
./Makefile | ./doxyfile | ./doxyfile_py | ./doxyfile_tui ) ;; \
. | .. ) ;; \
install-data-local: usr_docs
$(INSTALL) -d $(DESTDIR)$(docdir)/gui/GEOM
- @for filen in `find . -maxdepth 1` ; do \
+ @for filen in `find . -maxdepth 1` ; do \
case $${filen} in \
./Makefile | ./doxyfile | ./doxyfile_py | ./doxyfile_tui ) ;; \
./doxyfile.bak | ./doxyfile_py.bak | ./doxyfile_tui.bak ) ;; \
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "Geometry Module Reference Manual v.@VERSION@"
+PROJECT_NAME = "SALOME Geometry User's Guide"
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
-HTML_HEADER = @srcdir@/static/header.html
+HTML_HEADER = @builddir@/static/header.html
HTML_FOOTER = @srcdir@/static/footer.html
-#HTML_STYLESHEET = @srcdir@/static/doxygen.css
+HTML_STYLESHEET = @srcdir@/static/doxygen.css
TOC_EXPAND = YES
DISABLE_INDEX = NO
GENERATE_TREEVIEW = YES
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "Geometry Module Reference Manual v.@VERSION@"
+PROJECT_NAME = "SALOME Geometry User's Guide"
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = geompy_doc
-HTML_HEADER = @srcdir@/static/header.html
+HTML_HEADER = @builddir@/static/header.html
HTML_FOOTER = @srcdir@/static/footer.html
-#HTML_STYLESHEET = @srcdir@/static/doxygen.css
+HTML_STYLESHEET = @srcdir@/static/doxygen.css
TOC_EXPAND = YES
DISABLE_INDEX = YES
GENERATE_TREEVIEW = NO
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "Geometry Module Reference Manual v.@VERSION@"
+PROJECT_NAME = "SALOME Geometry User's Guide"
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
-HTML_HEADER = @srcdir@/static/header.html
+HTML_HEADER = @builddir@/static/header.html
HTML_FOOTER = @srcdir@/static/footer.html
-#HTML_STYLESHEET = @srcdir@/static/doxygen.css
+HTML_STYLESHEET = @srcdir@/static/doxygen.css
TOC_EXPAND = YES
DISABLE_INDEX = NO
GENERATE_TREEVIEW = YES
<tr align=center><td>44</td><td>3DSKETCHER</td></tr>
<tr align=center><td>45</td><td>FILLET_2D</td></tr>
<tr align=center><td>46</td><td>FILLET_1D</td></tr>
- <tr align=center><td>&nbps;</td><td>&nbps;</td></tr>
</table>
Also geompy.py module provides a helper function ShapeIdToType()
-H1 {
+body {
+ font-family: Arial, Helvetica, sans-serif;
+ background-color: #ffffff;
+}
+
+h1 {
text-align: center;
+ text-decoration: none;
+ border: none;
+ line-height: 25px;
+ text-align: center;
+// text-transform:uppercase;
+ background: #D9f4fd;
+ font-size: 12pt;
+ font-weight: bold;
+ border: 1px solid #CCCCCC;
+ -moz-border-radius: 8px;
+ -moz-box-shadow:5px 5px 5px rgba(0, 0, 0, 0.15);
+/* background-color: rgb(75, 140, 185);
+ color: #ffffff;
+ text-align: center;
+ height: 25px;*/
+
+}
+
+h2 {
+ font-size: 12pt;
+ font-weight: bold;
+}
+
+table {
+ font-size: 10pt;
}
CAPTION {
A.qindexRef {}
-/* Link to any cross-referenced Doxygen element */
-A.el {
- text-decoration: none;
- font-weight: bold
-}
-
-A.elRef {
- font-weight: bold
-}
-
/* Link to any cross-referenced Doxygen element inside a code section
(ex: header)
*/
A:hover {
text-decoration: none;
- background-color: lightblue
+ background-color: lightblue;
+}
+
+div.contents {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 10pt;
+}
+
+div.navpath {
+ font-size: 11pt;
+}
+
+div.version {
+ background-color:#ffffde;
+ border:1px solid #cccccc;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 9pt;
+ text-align: center;
+ width:100px;
+ -moz-border-radius: 8px;
+// -moz-box-shadow:5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+div.header {
+ background: url("head.png");
+ background-color: #175783;
+ border: 1px solid;
+ height: 80px;
+ background-repeat: no-repeat;
+ margin-bottom: 10px;
+}
+
+div.tabs {
+ display: none;
+}
+
+div.footer {
+ background-color: #D9f4fd;
+ border: 1px solid #AAAAAA;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 11px;
+ padding: 10px;
+ margin-top: 15px;
}
DL.el {
}
/* A code fragment (ex: header) */
-DIV.fragment {
- width: 100%;
+div.fragment {
border: none;
- background-color: #CCCCCC
}
/* In the alpha list (coumpound index), style of an alphabetical index letter */
font-size: smaller
}
-BODY {
- background: #FFFFFF;
-}
-
/*div.div-page {
background-color: #FFFFFF;
margin-left: 1em;
span.preprocessor { color: #806020 }
span.stringliteral { color: #002080 }
span.charliteral { color: #008080 }
+
+/* @group Code Colorization */
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 10pt;
+}
+
+pre.fragment {
+ width: 95%;
+ border: 1px solid #CCCCCC;
+ -moz-border-radius: 8px;
+ -moz-box-shadow:5px 5px 5px rgba(0, 0, 0, 0.15);
+ background-color:#EEF3F5;
+ padding: 4px 6px;
+ margin: 4px 1px 4px 1px;
+}
+
+/* Top Navigation style */
+
+div.navigation {
+ margin-bottom:20px;
+}
+
+/* Left navigation panel style */
+
+body.ftvtree {
+ background-color: #D9f4fd;
+ margin: 10px;
+}
+
+div.directory {
+ margin: 0;
+}
+
+div.directory.p {
+ margin: 0;
+}
+
+h3.swap {
+ font-size: 10pt;
+ margin-bottom: 0;
+}
+
+/* Link to any cross-referenced Doxygen element */
+a.el {
+ text-decoration: none;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: bold;
+ font-size: 9pt;
+ color: #551a8b;
+}
+
+a.el:hover {
+ background-color: transparent;
+}
+
+a.elRef {
+ font-weight: normal;
+}
+
+
+#MSearchBox {
+ -moz-border-radius:8px 8px 8px 8px;
+ background-color:white;
+ border:1px solid #84B0C7;
+ margin:0;
+ padding:0;
+ white-space:nowrap;
+}
+
+div.directory img {
+ vertical-align:-30%;
+}
+
+div.directory p {
+ white-space:nowrap;
+ margin: 0;
+}
+
+div.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+
+div.directory div {
+ display: none;
+ margin: 0px;
+}
+
+div.version {
+ background-color:#ffffde;
+ border:1px solid #cccccc;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 9pt;
+ text-align: center;
+ width:100px;
+ -moz-border-radius: 8px;
+// -moz-box-shadow:5px 5px 5px rgba(0, 0, 0, 0.15);
+}
<head>
</head>
<body>
-<hr style="width: 100%; height: 2px;">
+<div class="footer">
<div style="text-align: center;">
-Copyright © 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE<br>
-Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS<br>
+Copyright © 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE<br>
+Copyright © 2003-2010 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS<br>
+</div>
</div>
</body>
</html>
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>$title</title>
- <link href="doxygen.css" rel="stylesheet" type="text/css">
-</head>
-<hr>
-<center>
-SALOME documentation central
-</center>
-<hr>
--- /dev/null
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>$title</title>
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+</head>
+<div class="header"></div>
+<div align="right"><div class="version">Version: @VERSION@</div></div>
+
#
include $(top_srcdir)/adm_local/unix/make_common_starter.am
-EXTRA_DIST += images static
+EXTRA_DIST += images input static/footer.html static/doxygen.css
+
+tuidocdir = $(docdir)/tui/GEOM
+tuidoc_DATA = images/head.png images/geomscreen.png
dev_docs: doxyfile
echo "===========================================" ; \
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "Geometry Module Programming Guide v.@VERSION@"
+PROJECT_NAME = "SALOME Geometry Developer"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = GEOM
CREATE_SUBDIRS = NO
@top_builddir@/src/GEOM_SWIG/geompy.py \
@top_srcdir@/bin \
@top_srcdir@/idl \
- @top_builddir@/bin
-FILE_PATTERNS = *.idl *.hxx *.cxx *.h *.c *.hh *.cc @DOXYGEN_PYTHON_EXTENSION@
+ @top_builddir@/bin \
+ @srcdir@/input
+FILE_PATTERNS = *.idl *.hxx *.cxx *.h *.c *.hh *.cc @DOXYGEN_PYTHON_EXTENSION@ *.doc
RECURSIVE = YES
EXCLUDE = @top_srcdir@/src/GEOM_SWIG/geompy.py \
@top_srcdir@/src/GEOM_SWIG/geompyDC.py
GENERATE_HTML = YES
HTML_OUTPUT = .
HTML_FILE_EXTENSION = .html
-HTML_HEADER = @srcdir@/static/myheader.html
+HTML_HEADER = @builddir@/static/header.html
HTML_FOOTER = @srcdir@/static/footer.html
HTML_STYLESHEET = @srcdir@/static/doxygen.css
HTML_ALIGN_MEMBERS = YES
-H1 {
+body {
+ font-family: Arial, Helvetica, sans-serif;
+ background-color: #ffffff;
+}
+
+h1 {
text-align: center;
+ text-decoration: none;
+ border: none;
+ line-height: 25px;
+ text-align: center;
+// text-transform:uppercase;
+ background: #D9f4fd;
+ font-size: 12pt;
+ font-weight: bold;
+ border: 1px solid #CCCCCC;
+ margin-top: 50px;
+ -moz-border-radius: 8px;
+ -moz-box-shadow:5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+h2 {
+ font-size: 12pt;
+ font-weight: bold;
+}
+
+table {
+ font-size: 10pt;
+ padding-left: 20px;
}
CAPTION {
A.qindexRef {}
-/* Link to any cross-referenced Doxygen element */
-A.el {
- text-decoration: none;
- font-weight: bold
-}
-
-A.elRef {
- font-weight: bold
-}
-
/* Link to any cross-referenced Doxygen element inside a code section
(ex: header)
*/
A:hover {
text-decoration: none;
- background-color: lightblue
+ background-color: lightblue;
+}
+
+div.contents {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 10pt;
+ padding: 20px;
+}
+
+div.navpath {
+ font-size: 11pt;
+}
+
+div.header {
+ background: url("head.png");
+ background-color: #175783;
+ border: 1px solid;
+ height: 80px;
+ background-repeat: no-repeat;
+ margin-bottom:20px;
+}
+
+div.tabs {
+ text-align: justify;
+ margin-left : 2px;
+ margin-right : 2px;
+ margin-top : 2px;
+ margin-bottom : 2px
+ font-weight: bold;
+ color: #FFFFFF;
+}
+
+div.footer {
+ background-color: #D9f4fd;
+ border: 1px solid #AAAAAA;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 11px;
+ padding: 10px;
+}
+
+div.div-footer {
+ background-color: #D9f4fd;
+ border: 1px solid #AAAAAA;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 11px;
+ padding: 10px;
+ text-align: center;
}
DL.el {
}
/* A code fragment (ex: header) */
-DIV.fragment {
- width: 100%;
+div.fragment {
border: none;
- background-color: #CCCCCC
}
/* In the alpha list (coumpound index), style of an alphabetical index letter */
font-size: smaller
}
-BODY {
- background: #FFFFFF;
-}
-
/*div.div-page {
background-color: #FFFFFF;
margin-left: 1em;
color: #FFFFFF;
}
-DIV.div-footer {
- margin-left: 1em;
- margin-right: 1em;
- margin-bottom: 0.2em;
- text-align: right;
- font-size: 9pt;
-}
-
/* In File List, Coumpound List, etc, 1st column of the index */
TD.indexkey {
- background-color: #CCCCCC;
+ background-color: #DDDDEE;
font-weight: bold;
padding-right : 10px;
padding-top : 2px;
/* In File List, Coumpound List, etc, 2nd column of the index */
TD.indexvalue {
- background-color: #CCCCCC;
+ background-color: #EEEEFF;
font-style: italic;
padding-right : 10px;
padding-top : 2px;
span.preprocessor { color: #806020 }
span.stringliteral { color: #002080 }
span.charliteral { color: #008080 }
+
+/* @group Code Colorization */
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 10pt;
+}
+
+pre.fragment {
+ width: 95%;
+ border: 1px solid #CCCCCC;
+ -moz-border-radius: 8px;
+ -moz-box-shadow:5px 5px 5px rgba(0, 0, 0, 0.15);
+ background-color:#EEF3F5;
+ padding: 4px 6px;
+ margin: 20px;
+}
+
+/* Top Navigation style */
+
+div.navigation {
+ margin-bottom:20px;
+}
+
+/* Left navigation panel style */
+
+body.ftvtree {
+ background-color: #D9f4fd;
+ margin: 10px;
+}
+
+div.directory {
+ margin: 0;
+}
+
+div.directory.p {
+ margin: 0;
+}
+
+h3.swap {
+ font-size: 10pt;
+ margin-bottom: 0;
+}
+
+/* Link to any cross-referenced Doxygen element */
+a.el {
+ text-decoration: none;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: bold;
+ font-size: 10pt;
+ color: #551a8b;
+}
+
+a.el:hover {
+ background-color: transparent;
+ color: #551acc;
+}
+
+a {
+// text-decoration: none;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: bold;
+ font-size: 10pt;
+ color: #551a8b;
+}
+
+a:hover {
+ background-color: transparent;
+ color: #551acc;
+}
+
+a.elRef {
+ font-weight: normal;
+}
+
+
+#MSearchBox {
+ -moz-border-radius:8px 8px 8px 8px;
+ background-color:white;
+ border:1px solid #84B0C7;
+ margin:0;
+ padding:0;
+ white-space:nowrap;
+}
+
+div.directory img {
+ vertical-align:-30%;
+}
+
+div.directory p {
+ white-space:nowrap;
+ margin: 0;
+}
+
+div.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+
+div.directory div {
+ display: none;
+ margin: 0px;
+}
+
+div.version {
+ background-color:#ffffde;
+ border:1px solid #cccccc;
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 9pt;
+ text-align: center;
+ width:100px;
+ -moz-border-radius: 8px;
+ // -moz-box-shadow:5px 5px 5px rgba(0, 0, 0, 0.15);
+}
\ No newline at end of file
-</DIV>
-<DIV class="div-footer">
-Generated on $datetime for $projectname by <A href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></A> $doxygenversion</DIV>
-</BODY>
-</HTML>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+</head>
+<body>
+<div class="footer">
+<!--hr style="width: 100%; height: 2px;"-->
+<div style="text-align: center;">
+Copyright © 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE<br>
+Copyright © 2003-2010 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS<br>
+</div>
+</div>
+</body>
+</html>
--- /dev/null
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+ <title>SALOME Geometry Developer Guide</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+<div class="header"></div>
+<div align="right"><div class="version">Version: @VERSION@</div></div>
+</body>
+</html>
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
- <title>Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-
-</body>
-</html>
SEGMENT, // segment
EDGE, // other edge
// VERTEX
- VERTEX
+ VERTEX,
+ // ADVANCED shapes
+ ADVANCED // all advanced shapes (temporary implementation)
};
};
<parameter name="type_of_marker" value="1" />
<parameter name="deflection_coeff" value="0.001" />
<parameter name="marker_scale" value="1" />
+ <!-- Input field precisions -->
+ <parameter name="def_precision" value="3" />
+ <parameter name="length_precision" value="6" />
+ <parameter name="angle_precision" value="3" />
+ <parameter name="len_tol_precision" value="-9" />
+ <parameter name="ang_tol_precision" value="-9" />
+ <parameter name="weight_precision" value="3" />
+ <parameter name="density_precision" value="3" />
+ <parameter name="parametric_precision" value="6" />
+ <parameter name="param_tol_precision" value="-9" />
</section>
</document>
double aStep = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
/* min, max, step and decimals for spin boxes & initial values */
- initSpinBox( GroupPntVecR->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPntVecR->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
GroupPntVecR->SpinBox_DX->setValue( 100 );
/* signals and slots connections */
double aMajorR( 200. ), aMinorR( 100. );
/* min, max, step and decimals for spin boxes & initial values */
- initSpinBox( GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupPoints->SpinBox_DY, 0.000001, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupPoints->SpinBox_DY, 0.000001, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox_DX->setValue( aMajorR );
GroupPoints->SpinBox_DY->setValue( aMinorR );
double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
for ( DataMap::iterator anIter = myData.begin(); anIter != myData.end(); ++anIter ) {
- initSpinBox( anIter.value(), COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( anIter.value(), COORD_MIN, COORD_MAX, step, "length_precision" );
connect( anIter.value(), SIGNAL( valueChanged( double ) ),
this, SLOT( onValueChanged( double ) ) );
}
double aTrimSize = 2000.0;
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupPntDir->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPntDir->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
GroupPntDir->SpinBox_DX->setValue( aTrimSize );
- initSpinBox( Group3Pnts->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group3Pnts->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
Group3Pnts->SpinBox_DX->setValue( aTrimSize );
- initSpinBox( GroupFace->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupFace->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
GroupFace->SpinBox_DX->setValue( aTrimSize );
- initSpinBox( Group2Vec->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Vec->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
Group2Vec->SpinBox_DX->setValue( aTrimSize );
- initSpinBox( GroupLCS->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupLCS->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
GroupLCS->SpinBox_DX->setValue( aTrimSize );
/* signals and slots connections */
double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupXYZ->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupXYZ->SpinBox_DY, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupXYZ->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupXYZ->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupXYZ->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupXYZ->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupXYZ->SpinBox_DX->setValue( 0.0 );
GroupXYZ->SpinBox_DY->setValue( 0.0 );
GroupXYZ->SpinBox_DZ->setValue( 0.0 );
- initSpinBox( GroupRefPoint->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupRefPoint->SpinBox_DY, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupRefPoint->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupRefPoint->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupRefPoint->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupRefPoint->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupRefPoint->SpinBox_DX->setValue( 0.0 );
GroupRefPoint->SpinBox_DY->setValue( 0.0 );
GroupRefPoint->SpinBox_DZ->setValue( 0.0 );
step = 0.1;
- initSpinBox( GroupOnCurve->SpinBox_DX, 0., 1., step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox( GroupOnCurve->SpinBox_DX, 0., 1., step, "parametric_precision" );
GroupOnCurve->SpinBox_DX->setValue( 0.5 );
- initSpinBox( GroupOnSurface->SpinBox_DX, 0., 1., step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox( GroupOnSurface->SpinBox_DX, 0., 1., step, "parametric_precision" );
GroupOnSurface->SpinBox_DX->setValue( 0.5 );
- initSpinBox( GroupOnSurface->SpinBox_DY, 0., 1., step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox( GroupOnSurface->SpinBox_DY, 0., 1., step, "parametric_precision" );
GroupOnSurface->SpinBox_DY->setValue( 0.5 );
/* signals and slots connections */
GroupRefPoint->SpinBox_DX->setSingleStep(step);
GroupRefPoint->SpinBox_DY->setSingleStep(step);
GroupRefPoint->SpinBox_DZ->setSingleStep(step);
- GroupOnSurface->SpinBox_DX->setSingleStep(step);
- GroupOnSurface->SpinBox_DY->setSingleStep(step);
}
double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupDimensions->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
- initSpinBox( GroupDimensions->SpinBox_DY, COORD_MIN, COORD_MAX, step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
- initSpinBox( GroupDimensions->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox( GroupDimensions->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupDimensions->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupDimensions->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
double dx( 0. ), dy( 0. ), dz( 200. );
GroupDimensions->SpinBox_DX->setValue( dx );
int SpecificStep = 1;
QMap<int, SalomeApp_IntSpinBox*>::iterator anIter;
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter) {
- //anIter.data()->RangeStepAndValidator(1, 999, SpecificStep);
initSpinBox(anIter.value(), 1, 999, SpecificStep);
}
GroupArgs->TextLabel2->setText( tr( "GEOM_TOLERANCE" ) );
double SpecificStep = 0.0001;
double prec = Precision::Confusion();
- initSpinBox(GroupArgs->SpinBox_DX, prec, MAX_NUMBER, SpecificStep, 9);
+ initSpinBox(GroupArgs->SpinBox_DX, prec, MAX_NUMBER, SpecificStep, "len_tol_precision" );
GroupArgs->SpinBox_DX->setValue(prec);
QVBoxLayout* layout = new QVBoxLayout( centralWidget() );
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="SalomeApp_DoubleSpinBox" name="SpinBox1"/>
- </item>
<item row="0" column="2">
<widget class="QLabel" name="TextLabel3">
<property name="sizePolicy">
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="SalomeApp_DoubleSpinBox" name="SpinBox4"/>
- </item>
<item row="1" column="2">
<widget class="QLabel" name="TextLabel6">
<property name="sizePolicy">
</property>
</widget>
</item>
- <item row="2" column="1">
- <widget class="SalomeApp_DoubleSpinBox" name="SpinBox3"/>
- </item>
<item row="2" column="2" colspan="2">
<widget class="QCheckBox" name="CheckBox1">
<property name="text">
</property>
</widget>
</item>
+ <item row="0" column="1">
+ <widget class="SalomeApp_IntSpinBox" name="SpinBox1"/>
+ </item>
+ <item row="1" column="1">
+ <widget class="SalomeApp_IntSpinBox" name="SpinBox4"/>
+ </item>
+ <item row="2" column="1">
+ <widget class="SalomeApp_IntSpinBox" name="SpinBox3"/>
+ </item>
</layout>
</item>
</layout>
<extends>QDoubleSpinBox</extends>
<header location="global">SalomeApp_DoubleSpinBox.h</header>
</customwidget>
+ <customwidget>
+ <class>SalomeApp_IntSpinBox</class>
+ <extends>QSpinBox</extends>
+ <header location="global">SalomeApp_IntSpinBox.h</header>
+ </customwidget>
</customwidgets>
<tabstops>
<tabstop>PushButton1</tabstop>
double step = SUIT_Session::session()->resourceMgr()->doubleValue( "Geometry", "SettingsGeomStep", 100.0 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
Group3Spin->SpinBox_DX->setValue(0.0);
Group3Spin->SpinBox_DY->setValue(0.0);
return true;
}
-//=================================================================================
-// function : initSpinBox()
-// purpose :
-//=================================================================================
-
-void EntityGUI_3DSketcherDlg::initSpinBox( QDoubleSpinBox* spinBox,
- double min, double max,
- double step, int decimals )
-{
- spinBox->setDecimals( decimals );
- spinBox->setRange( min, max );
- spinBox->setSingleStep( step );
-}
-
//=================================================================================
// function : SetDoubleSpinBoxStep()
// purpose : Double spin box management
~EntityGUI_3DSketcherDlg();
protected:
- void initSpinBox( QDoubleSpinBox*,
- double, double, double = 0.1,
- int = 3 );
-
+
// redefined from GEOMBase_Helper
virtual GEOM::GEOM_IOperations_ptr createOperation();
virtual bool isValid( QString& );
double step = SUIT_Session::session()->resourceMgr()->doubleValue( "Geometry", "SettingsGeomStep", 100.0 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( Group1Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group4Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 0.1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group4Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 0.1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group4Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group4Spin->SpinBox_DS, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group1Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group4Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
+ // san: Note specific step values below!
+ initSpinBox( Group4Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 0.1, "length_precision" );
+ initSpinBox( Group4Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 0.1, "length_precision" );
+ initSpinBox( Group4Spin->SpinBox_DS, COORD_MIN, COORD_MAX, 5., "length_precision" );
/* displays Dialog */
MainWidget->GroupConstructors->setEnabled( false );
if ( myConstructorId == 0 ) { // SEGMENT
if ( constructorId == 1 ) { // XY
mySketchType = PT_ABS;
- initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_X2" ) );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_Y2" ) );
myX = 0.0;
}
else if ( constructorId == 0 ) { // DXDY
mySketchType = PT_RELATIVE;
- initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_DX2" ) );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_DY2" ) );
myDX = 0.0;
myY = 0.0;
myLength = 100.0;
if ( myConstructorDirId == 2 ) { // Angle
- initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 5., "length_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_ANGLE2" ) );
Group2Spin->SpinBox_DX->setValue( myAngle );
Group2Spin->buttonApply->setFocus();
if ( constructorId == 2 ) { // Length
mySketchType = DIR_ANGLE_LENGTH;
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_LENGTH2" ) );
Group2Spin->SpinBox_DY->setValue( myLength );
}
else if ( constructorId == 0 ) { // X
mySketchType = DIR_ANGLE_X;
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "angle_precision" );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_X3" ) );
Group2Spin->SpinBox_DY->setValue( myX );
}
else if ( constructorId == 1 ) { // Y
mySketchType = DIR_ANGLE_Y;
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "angle_precision" );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_Y3" ) );
Group2Spin->SpinBox_DY->setValue( myY );
}
}
}
else if ( myConstructorDirId == 3 ) { // DXDY
- initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 0.1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 0.1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 0.1, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 0.1, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
Group3Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_VX2" ) );
Group3Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_VY2" ) );
myDX = 0.0;
if ( myConstructorDirId == 2 ) { // Angle
if ( constructorId == 2 ) { // Length
mySketchType = DIR_ANGLE_LENGTH;
- initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 5., "angle_precision" );
+ initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, 5., "angle_precision" );
Group3Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_ANGLE2" ) );
Group3Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_RADIUS2" ) );
Group3Spin->TextLabel3->setText( tr( "GEOM_SKETCHER_ANGLE2" ));
else if ( myConstructorDirId == 0 ) { // Perpendicular
if ( constructorId == 2 ) { // Length
mySketchType = DIR_PER_LENGTH;
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 5., "angle_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_RADIUS2" ) );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_ANGLE2" ) );
myRadius = 100.0;
else if ( myConstructorDirId == 1 ) { // Tangent
if ( constructorId == 2 ) { // Length
mySketchType = DIR_TAN_LENGTH;
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 5., "angle_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_RADIUS2" ) );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_ANGLE2" ) );
myRadius = 100.0;
}
}
+//=================================================================================
+// function : initSpinBox()
+// purpose :
+//=================================================================================
void EntityGUI_SketcherDlg::initSpinBox( SalomeApp_DoubleSpinBox* spinBox,
double min, double max,
- double step, int decimals )
+ double step, const char* quantity )
{
- spinBox->setDecimals( decimals );
+ // The same stuff as in GEOMBase_Skeleton::initSpinBox()!
+ // TODO: Think how to keep the single piece of code...
+
+ // Obtain precision from preferences
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ int aPrecision = resMgr->integerValue( "Geometry", quantity, 6 );
+
+ spinBox->setPrecision( aPrecision );
+ spinBox->setDecimals( aPrecision ); // it's necessary to set decimals before the range setting,
+ // by default Qt rounds boundaries to 2 decimals at setRange
spinBox->setRange( min, max );
spinBox->setSingleStep( step );
+
+ // Add a hint for the user saying how to tune precision
+ QString userPropName = QObject::tr( QString( "PREF_%1" ).arg( quantity ).toLatin1().constData() );
+ spinBox->setProperty( "validity_tune_hint",
+ QVariant( QObject::tr( "PRECISION_HINT" ).arg( userPropName ) ) );
}
//=================================================================================
Group3Spin->SpinBox_DX->setSingleStep(step);
Group3Spin->SpinBox_DY->setSingleStep(step);
Group3Spin->SpinBox_DZ->setSingleStep(step);
- Group4Spin->SpinBox_DX->setSingleStep(step);
- Group4Spin->SpinBox_DY->setSingleStep(step);
Group4Spin->SpinBox_DZ->setSingleStep(step);
- Group4Spin->SpinBox_DS->setSingleStep(step);
+
+ // san: Do NOT override the step when a speicifc step value is used
+ // in some input fields!
+ //Group4Spin->SpinBox_DX->setSingleStep(step);
+ //Group4Spin->SpinBox_DY->setSingleStep(step);
+ //Group4Spin->SpinBox_DS->setSingleStep(step);
}
//=================================================================================
protected:
void initSpinBox( SalomeApp_DoubleSpinBox*,
double, double, double = 0.1,
- int = 3 );
+ const char* quantity = "length_precision" );
// redefined from GEOMBase_Helper
virtual GEOM::GEOM_IOperations_ptr createOperation();
GEOM_Object::GEOM_Object(TDF_Label& theEntry)
: _label(theEntry), _ior(""), _docID(-1)
{
+ std::cerr << "GEOM_Object::GEOM_Object(TDF_Label& theEntry)" << std::endl;
Handle(TDocStd_Document) aDoc = TDocStd_Owner::GetDocument(_label.Data());
if(!aDoc.IsNull()) {
Handle(TDataStd_Integer) anID;
GEOM_Object::GEOM_Object(TDF_Label& theEntry, int theType)
: _label(theEntry), _ior(""), _docID(-1)
{
+ std::cerr << "GEOM_Object::GEOM_Object(TDF_Label& theEntry, int theType)" << std::endl;
Handle(TDocStd_Document) aDoc = TDocStd_Owner::GetDocument(_label.Data());
if(!aDoc.IsNull()) {
Handle(TDataStd_Integer) anID;
//=============================================================================
GEOM_Object::~GEOM_Object()
{
+ std::cerr << "GEOM_Object::~GEOM_Object()" << std::endl;
MESSAGE("GEOM_Object::~GEOM_Object()");
}
//=================================================================================
void GEOMBase_Skeleton::initSpinBox( SalomeApp_DoubleSpinBox* spinBox,
double min, double max,
- double step, int decimals )
+ double step, const char* quantity )
{
- spinBox->setPrecision( decimals );
- spinBox->setDecimals( decimals ); // it's necessary to set decimals before the range setting,
+ // Obtain precision from preferences
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ int aPrecision = resMgr->integerValue( "Geometry", quantity, 6 );
+
+ spinBox->setPrecision( aPrecision );
+ spinBox->setDecimals( qAbs( aPrecision ) ); // it's necessary to set decimals before the range setting,
// by default Qt rounds boundaries to 2 decimals at setRange
spinBox->setRange( min, max );
spinBox->setSingleStep( step );
+
+ // Add a hint for the user saying how to tune precision
+ QString userPropName = QObject::tr( QString( "GEOM_PREF_%1" ).arg( quantity ).toLatin1().constData() );
+ spinBox->setProperty( "validity_tune_hint",
+ QVariant( QObject::tr( "GEOM_PRECISION_HINT" ).arg( userPropName ) ) );
}
//=================================================================================
protected:
void initSpinBox( QSpinBox*, int, int, int = 1 );
- void initSpinBox( SalomeApp_DoubleSpinBox*, double, double, double = 0.1, int = 3 );
+ void initSpinBox( SalomeApp_DoubleSpinBox*, double, double, double = 0.1, const char* = "length_precision" );
void updateAttributes( GEOM::GEOM_Object_ptr, const QStringList& );
AISShape = new GEOM_AISShape (myShape, "");
}
// Temporary staff: vertex must be infinite for correct visualization
- AISShape->SetInfiniteState( myShape.Infinite() || myShape.ShapeType() == TopAbs_VERTEX );
+ AISShape->SetInfiniteState( myShape.Infinite() ); // || myShape.ShapeType() == TopAbs_VERTEX // VSR: 05/04/2010: Fix 20668 (Fit All for points & lines)
// Setup shape properties here ..., e.g. display mode, color, transparency, etc
AISShape->SetDisplayMode( myDisplayMode );
<source>PREF_DEFLECTION</source>
<translation>Deflection coefficient</translation>
</message>
+ <message>
+ <source>GEOM_PREF_def_precision</source>
+ <translation>Default precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_length_precision</source>
+ <translation>Length precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_angle_precision</source>
+ <translation>Angular precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_len_tol_precision</source>
+ <translation>Length tolerance precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_ang_tol_precision</source>
+ <translation>Angular tolerance precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_weight_precision</source>
+ <translation>Weight precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_density_precision</source>
+ <translation>Density precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_parametric_precision</source>
+ <translation>Parametric precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_param_tol_precision</source>
+ <translation>Parametric tolerance precision</translation>
+ </message>
<message>
<source>PREF_DISPLAY_MODE</source>
<translation>Default display mode</translation>
<source>PREF_GROUP_OCCVIEWER</source>
<translation>OCC Viewer 3d</translation>
</message>
+ <message>
+ <source>GEOM_PREF_GROUP_PRECISION</source>
+ <translation>Input fields precision</translation>
+ </message>
<message>
<source>PREF_GROUP_VERTEX</source>
<translation>Marker of Points</translation>
<translation>Would you like to take into account the units?
Otherwise the dimensions will be kept without modifications.</translation>
</message>
+ <message>
+ <source>GEOM_ADVANCED</source>
+ <translation>Advanced shape: type %1</translation>
+ </message>
+ <message>
+ <source>GEOM_PRECISION_HINT</source>
+ <translation>
+Input value precision can be adjusted using
+'%1' parameter in Geometry module preferences.</translation>
+ </message>
</context>
<context>
<name>BasicGUI_CurveDlg</name>
int defl = addPreference( tr( "PREF_DEFLECTION" ), genGroup,
LightApp_Preferences::DblSpin, "Geometry", "deflection_coeff" );
+
+ // Quantities with individual precision settings
+ int precGroup = addPreference( tr( "GEOM_PREF_GROUP_PRECISION" ), tabId );
+ setPreferenceProperty( precGroup, "columns", 2 );
+
+ const int nbQuantities = 8;
+ int prec[nbQuantities], ii = 0;
+ prec[ii++] = addPreference( tr( "GEOM_PREF_length_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "length_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_angle_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "angle_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_len_tol_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "len_tol_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_ang_tol_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "ang_tol_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_weight_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "weight_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_density_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "density_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_parametric_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "parametric_precision" );
+ prec[ii ] = addPreference( tr( "GEOM_PREF_param_tol_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "param_tol_precision" );
+
+ // Set property for precision value for spinboxes
+ for ( ii = 0; ii < nbQuantities; ii++ ){
+ setPreferenceProperty( prec[ii], "min", -10 );
+ setPreferenceProperty( prec[ii], "max", 10 );
+ setPreferenceProperty( prec[ii], "precision", 2 );
+ }
int VertexGroup = addPreference( tr( "PREF_GROUP_VERTEX" ), tabId );
setPreferenceProperty( VertexGroup, "columns", 2 );
QList<QVariant> aMarkerScaleIndicesList;
QStringList aMarkerScaleValuesList;
- for ( int i = GEOM::MS_10; i <= GEOM::MS_70; i++ ) {
- aMarkerScaleIndicesList << i;
- aMarkerScaleValuesList << QString::number( (i-(int)GEOM::MS_10)*0.5 + 1.0 );
+ for ( int iii = GEOM::MS_10; iii <= GEOM::MS_70; iii++ ) {
+ aMarkerScaleIndicesList << iii;
+ aMarkerScaleValuesList << QString::number( (iii-(int)GEOM::MS_10)*0.5 + 1.0 );
}
setPreferenceProperty( markerScale, "strings", aMarkerScaleValuesList );
import salome
SEP=":"
+if sys.platform == "win32":
+ SEP = ";"
# Get SALOME PyQt interface
import SalomePyQt
plugins_files=[]
for directory in self.plugindirs:
- geom_plugins_file = os.path.join(directory,"geom_plugins.py")
- if os.path.isfile(geom_plugins_file):
- plugins_files.append((directory,geom_plugins_file))
- lasttime=max(lasttime,os.path.getmtime(geom_plugins_file))
+ plugins_file = os.path.join(directory,"geom_plugins.py")
+ if os.path.isfile(plugins_file):
+ plugins_files.append((directory,plugins_file))
+ lasttime=max(lasttime,os.path.getmtime(plugins_file))
plugins_files.sort()
if (isFound) {
TopoDS_Shape anOutSh_i;
SuppressFacesRec(theShapesFaces, aShape_i, anOutSh_i);
- BB.Add(CC, anOutSh_i);
+ if ( !anOutSh_i.IsNull() )
+ BB.Add(CC, anOutSh_i);
}
else {
// nothing to do
#include <Standard_Failure.hxx>
#include <Standard_ErrorHandler.hxx> // CAREFUL ! position of this file is critic : see Lucien PIGNOLONI / OCC
+#ifdef OCC_VERSION_SERVICEPACK
+#if (OCC_VERSION_MAJOR << 24 | OCC_VERSION_MINOR << 16 | OCC_VERSION_MAINTENANCE << 8 | OCC_VERSION_SERVICEPACK) > 0x06030008
+#define OCCT_6_3_0_sp_9
+#endif
+#endif
+
//=============================================================================
/*!
return false;
// get free boundary shapes
- ShapeAnalysis_FreeBounds anAnalizer( aShape );
+
+#ifdef OCCT_6_3_0_sp_9
+ ShapeAnalysis_FreeBounds anAnalizer(aShape, Standard_False,
+ Standard_True, Standard_True);
+#else
+ ShapeAnalysis_FreeBounds anAnalizer(aShape);
+#endif
TopoDS_Compound aClosed = anAnalizer.GetClosedWires();
TopoDS_Compound anOpen = anAnalizer.GetOpenWires();
TopoDS_Shape aShape = aRefShape->GetValue();
if (aShape.IsNull()) return aKind;
+ int geom_type = theShape->GetType();
+
+ // check if it's advanced shape
+ if ( geom_type > ADVANCED_BASE ) {
+ SetErrorCode(OK);
+ return SK_ADVANCED;
+ }
+
// Call algorithm
GEOMAlgo_ShapeInfoFiller aSF;
aSF.SetShape(aShape);
SK_SEGMENT, // segment
SK_EDGE, // other edge
// VERTEX
- SK_VERTEX
+ SK_VERTEX,
+ // ADVANCED shapes
+ SK_ADVANCED, // all advanced shapes (temporary implementation)
};
Standard_EXPORT ShapeKind KindOfShape (Handle(GEOM_Object) theShape,
}
if (aShape.IsNull()) return 0;
- aShape.Infinite(true);
+ //aShape.Infinite(true); // VSR: 05/04/2010: Fix 20668 (Fit All for points & lines)
aFunction->SetValue(aShape);
aShape = mkVertex.Shape();
}
- aShape.Infinite(Standard_True);
+ //aShape.Infinite(Standard_True); // VSR: 05/04/2010: Fix 20668 (Fit All for points & lines)
aFunction->SetValue(aShape);
log.SetTouched(Label());
GroupC1Layout->addWidget(TextLabel1, 0, 0);
SpinBox = new QtxDoubleSpinBox (GroupC1);
- SpinBox->setPrecision( 6 );
- SpinBox->setDecimals( 6 );
+ // Obtain precision from preferences
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ int aPrecision = resMgr->integerValue( "Geometry", "parametric_precision", 6 );
+ SpinBox->setPrecision( aPrecision );
+ SpinBox->setDecimals( aPrecision );
SpinBox->setRange( DEFLECTION_MIN, 1.0 );
SpinBox->setSingleStep( 1.0e-04 );
- //SpinBox->setMinimum(1.0e-07);
- //SpinBox->setMaximum(1.0);
- //SpinBox->setStep(1.0e-04);
SpinBox->setObjectName("SpinBoxU");
SpinBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
SpinBox->setValue(1.0e-04);
} else if ( aShape->GetType() == GEOM_MARKER ) {
aPixmap->SetPixMap( "ICON_OBJBROWSER_LCS" );
aShapeName = "LocalCS_";
+ } else if ( aShape->GetType() > ADVANCED_BASE ) {
+ char buf[20];
+ sprintf( buf, "%d", aShape->GetType() );
+ std::string advId = "ICON_OBJBROWSER_ADVANCED_"; advId += buf;
+ aPixmap->SetPixMap( advId.c_str() );
+ aShapeName = "Advanced_";
} else if ( aShape->GetShapeType() == GEOM::COMPOUND ) {
aPixmap->SetPixMap( "ICON_OBJBROWSER_COMPOUND" );
aShapeName = "Compound_";
Handle(GEOM_Object) theImpl)
: SALOME::GenericObj_i( thePOA ), _engine(theEngine), _impl(theImpl)
{
+ std::cerr << "GEOM_Object_i::GEOM_Object_i " << std::endl;
}
//=============================================================================
GEOM_Object_i::~GEOM_Object_i()
{
+ std::cerr << "GEOM_Object_i::~GEOM_Object_i " << std::endl;
MESSAGE("GEOM_Object_i::~GEOM_Object_i");
GEOM_Engine::GetEngine()->RemoveObject(_impl);
}
globalSelection( GEOM_COMPOUND );
- double SpecificStep1 = 1;
+ int SpecificStep1 = 1;
double SpecificStep2 = 0.0001;
/* min, max, step and decimals for spin boxes & initial values */
- initSpinBox( GroupPoints->SpinBox1, 2.0, MAX_NUMBER, SpecificStep1, 3 );
- initSpinBox( GroupPoints->SpinBox2, 0.00001, 10000.0, SpecificStep2, 5 );
- initSpinBox( GroupPoints->SpinBox3, 0.0, MAX_NUMBER, SpecificStep1, 3 );
- initSpinBox( GroupPoints->SpinBox4, 1.0, MAX_NUMBER, SpecificStep1, 3 );
- initSpinBox( GroupPoints->SpinBox5, 0.00001, 10000.0, SpecificStep2, 5 );
+ initSpinBox( GroupPoints->SpinBox1, 2, MAX_NUMBER, SpecificStep1 );
+ initSpinBox( GroupPoints->SpinBox2, 0.00001, 10000.0, SpecificStep2, "len_tol_precision" );
+ initSpinBox( GroupPoints->SpinBox3, 0, MAX_NUMBER, SpecificStep1 );
+ initSpinBox( GroupPoints->SpinBox4, 1, MAX_NUMBER, SpecificStep1 );
+ initSpinBox( GroupPoints->SpinBox5, 0.00001, 10000.0, SpecificStep2, "len_tol_precision" );
GroupPoints->SpinBox1->setValue( myMinDeg );
GroupPoints->SpinBox2->setValue( myTol2D );
connect( GroupPoints->CheckBox1, SIGNAL( stateChanged( int ) ),
this, SLOT( ApproxChanged() ) );
- connect( myGeomGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), this, SLOT( SetDoubleSpinBoxStep( double ) ) );
+ // san: Commented, as all spin boxes here either are integer or use specific non-default step value
+ //connect( myGeomGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), this, SLOT( SetDoubleSpinBoxStep( double ) ) );
connect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(),
SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) );
//=================================================================================
void GenerationGUI_FillingDlg::SetDoubleSpinBoxStep( double step )
{
- GroupPoints->SpinBox1->setSingleStep(step);
GroupPoints->SpinBox2->setSingleStep(step);
- GroupPoints->SpinBox3->setSingleStep(step);
- GroupPoints->SpinBox4->setSingleStep(step);
GroupPoints->SpinBox5->setSingleStep(step);
}
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints3->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6); // VSR:TODO : DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints3->SpinBox_DY, COORD_MIN, COORD_MAX, step, 6); // VSR:TODO : DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints3->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 6); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints3->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints3->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints3->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupPoints3->SpinBox_DX->setValue(0.0);
GroupPoints3->SpinBox_DY->setValue(0.0);
GroupPoints3->SpinBox_DZ->setValue(0.0);
- initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox_DX->setValue(100.0);
// init variables
{
// min, max, step and decimals for spin boxes & initial values
double SpecificStep = 5;
- initSpinBox(GroupPoints->SpinBox_DX, -360.0, 360.0, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, -360.0, 360.0, SpecificStep, "angle_precision" );
GroupPoints->SpinBox_DX->setValue(45.0);
// init variables
connect(GroupPoints->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(onBothway()));
connect(GroupPoints->CheckButton2, SIGNAL(toggled(bool)), this, SLOT(onReverse()));
- connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
+ // san: We don't need this, as the default step value is not used in this dialog box
+ //connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
initName(tr("GEOM_REVOLUTION"));
resize(100,100);
"\n" + tr( "GEOM_Y" ) + PRINT_DOUBLE( aDbls[1] ) +
"\n" + tr( "GEOM_Z" ) + PRINT_DOUBLE( aDbls[2] );
break;
+ case GEOM::GEOM_IKindOfShape::ADVANCED:
+ {
+ QString strid = QString( "GEOM_ADVANCED_%1" ).arg( myObj->GetType() );
+ aKindStr = tr( strid.toLatin1().constData() ) == strid ?
+ tr( "GEOM_ADVANCED" ).arg( myObj->GetType() ) :
+ tr( strid.toLatin1().constData() );
+ break;
+ }
default:
break;
}
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// File: NMTTools_PaveFiller_2.cxx
-// Created: Mon Dec 8 12:02:56 2003
-// Author: Peter KURNEV
-// <pkv@irinox>
-//
+// File: NMTTools_PaveFiller_2.cxx
+// Created: Mon Dec 8 12:02:56 2003
+// Author: Peter KURNEV
+// <pkv@irinox>
+
#include <NMTTools_PaveFiller.ixx>
#include <Precision.hxx>
#include <BOPTools_VEInterference.hxx>
#include <BooleanOperations_AncestorsSeqAndSuccessorsSeq.hxx>
+
#include <NMTDS_Iterator.hxx>
#include <NMTDS_ShapesDataStructure.hxx>
#include <NMTDS_InterfPool.hxx>
-//
-// Modified Thu Sep 14 14:35:18 2006
+
+#include <Standard_Version.hxx>
+
+// Modified Thu Sep 14 14:35:18 2006
// Contribution of Samtech www.samcef.com BEGIN
#include <BOPTools_IndexedMapOfCoupleOfInteger.hxx>
#include <BOPTools_CoupleOfInteger.hxx>
#include <BooleanOperations_OnceExplorer.hxx>
-
static
Standard_Boolean Contains(const TopoDS_Edge& aE,
const TopoDS_Vertex& aV);
// Contribution of Samtech www.samcef.com END
+// In OCCT6.3.0sp9 is changed a signature of IntTools_Context::ComputeVE() method
+#ifdef OCC_VERSION_SERVICEPACK
+#if (OCC_VERSION_MAJOR << 24 | OCC_VERSION_MINOR << 16 | OCC_VERSION_MAINTENANCE << 8 | OCC_VERSION_SERVICEPACK) > 0x06030008
+#define OCCT_6_3_0_sp_9
+#endif
+#endif
+
//=======================================================================
// function: PerformVE
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::PerformVE()
+void NMTTools_PaveFiller::PerformVE()
{
myIsDone=Standard_False;
//
Standard_Boolean bJustAdd;
- Standard_Integer n1, n2, anIndexIn, aFlag, aWhat, aWith, aNbVEs, aBlockLength, iSDV, nV1;
+ Standard_Integer n1, n2, anIndexIn, aFlag, aWhat;
+ Standard_Integer aWith, aNbVEs, aBlockLength, iSDV, nV1;
Standard_Real aT;
+#ifdef OCCT_6_3_0_sp_9
+ Standard_Boolean bToUpdateVertex;
+ Standard_Real aDist;
+#endif
TopoDS_Vertex aV1;
TopoDS_Edge aE2;
BOPTools_IndexedMapOfCoupleOfInteger aSnareMap;
}
//
if(bJustAdd) {
- //myIntrPool->AddInterference(aWhat, aWith, BooleanOperations_VertexEdge, anIndexIn);
continue;
}
// Edge
if (iSDV) {
nV1=iSDV;
aV1=TopoDS::Vertex(myDS->Shape(nV1));
- // Modified to find same domain vertex Thu Sep 14 14:35:18 2006
+ // Modified to find same domain vertex Thu Sep 14 14:35:18 2006
// Contribution of Samtech www.samcef.com BEGIN
Standard_Integer nVE, iSDVE, iRet;
//
// Contribution of Samtech www.samcef.com END
}
//
+ //modified by NIZNHY-PKV Mon Dec 28 08:58:05 2009f
+#ifdef OCCT_6_3_0_sp_9
+ aFlag=myContext.ComputeVE (aV1, aE2, aT, bToUpdateVertex, aDist);
+#else
aFlag=myContext.ComputeVE (aV1, aE2, aT);
+#endif
+ //modified by NIZNHY-PKV Mon Dec 28 08:58:13 2009t
//
if (!aFlag) {
// Add Interference to the Pool
// Insert Vertex in Interference Object
BOPTools_VEInterference& aVE=aVEs(anIndexIn);
aVE.SetNewShape(aWhat);
- // qqf
- {
- myIP->Add(aWhat, aWith, Standard_True, NMTDS_TI_VE);
- }
- // qqt
- }
- //myIntrPool->AddInterference(aWhat, aWith, BooleanOperations_VertexEdge, anIndexIn);
+ //
+ myIP->Add(aWhat, aWith, Standard_True, NMTDS_TI_VE);
+ //
+ //modified by NIZNHY-PKV Mon Dec 28 09:00:54 2009f
+#ifdef OCCT_6_3_0_sp_9
+ if (bToUpdateVertex) {
+ BRep_Builder aBB;
+ //
+ aBB.UpdateVertex(aV1, aDist);
+ }
+#endif
+ //modified by NIZNHY-PKV Mon Dec 28 09:00:57 2009t
+ //
+ } //if (!aFlag) {
}
}
myIsDone=Standard_True;
}
+
//=======================================================================
// function: PrepareEdges
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::PrepareEdges()
+void NMTTools_PaveFiller::PrepareEdges()
{
Standard_Integer i, nV, ii, aNBSuc, ip, aNbShapesObject;
Standard_Real aT;
ip=FindSDVertex(nV);
if (ip) {
aV=TopoDS::Vertex(myDS->Shape(ip));
- aV.Orientation(anOr);// XX ? if the edge is closed it'll be amazing result
+ aV.Orientation(anOr);// XX ? if the edge is closed it'll be amazing result
nV=ip;
}
//
- BOPTools_Pave aPave(nV, aT);
+ BOPTools_Pave aPave(nV, aT);
aPaveSet.Append (aPave);
}
}
}
}
-// Modified Thu Sep 14 14:35:18 2006
+// Modified Thu Sep 14 14:35:18 2006
// Contribution of Samtech www.samcef.com BEGIN
//=======================================================================
//function : Contains
-//purpose :
+//purpose :
//=======================================================================
Standard_Boolean Contains(const TopoDS_Edge& aE,
const TopoDS_Vertex& aV)
double SpecificStep1 = 0.1;
double SpecificStep2 = 0.01;
/* min, max, myStep and decimals for spin boxes & initial values */
- initSpinBox( GroupPoints->SpinBox_DX, 0.001, COORD_MAX, myStep, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupPoints->SpinBox_DY, 0.001, COORD_MAX, SpecificStep1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupPoints->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep2, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPoints->SpinBox_DX, 0.001, COORD_MAX, myStep, "weight_precision" );
+ initSpinBox( GroupPoints->SpinBox_DY, 0.001, COORD_MAX, SpecificStep1, "density_precision" );
+ initSpinBox( GroupPoints->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep2, "parametric_precision" );
GroupPoints->SpinBox_DX->setValue( 100.0 );
GroupPoints->SpinBox_DY->setValue( 1.0 );
void OperationGUI_ArchimedeDlg::SetDoubleSpinBoxStep( double step )
{
GroupPoints->SpinBox_DX->setSingleStep(step);
- GroupPoints->SpinBox_DY->setSingleStep(step);
- GroupPoints->SpinBox_DZ->setSingleStep(step);
+
+ // san: Commented so as not to override specific step settings
+ //GroupPoints->SpinBox_DY->setSingleStep(step);
+ //GroupPoints->SpinBox_DZ->setSingleStep(step);
}
//=================================================================================
QMap< int, SalomeApp_DoubleSpinBox* >::iterator anIter;
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter) {
if (anIter.key() == SpinBox44 || anIter.key() == SpinBox34 || anIter.key() == SpinBox24)
- initSpinBox(anIter.value(), 0.001, 89.999, 5, 0);
+ initSpinBox(anIter.value(), 0.001, 89.999, 5, "angle_precision" );
else
- initSpinBox(anIter.value(), 0.001, COORD_MAX, SpecificStep, 3);
+ initSpinBox(anIter.value(), 0.001, COORD_MAX, SpecificStep, "length_precision" );
}
setHelpFileName("chamfer_operation_page.html");
TextLabelNear = new QLabel( tr( "Near" ), GroupArguments );
GroupArgumentsLayout->addWidget( TextLabelNear, 0, 0 );
- SpinBox_Near = new SalomeApp_DoubleSpinBox( COORD_MIN, COORD_MAX, 10.0, 3, 10, GroupArguments );
+ SpinBox_Near = new SalomeApp_DoubleSpinBox( GroupArguments );
+ initSpinBox( SpinBox_Near, COORD_MIN, COORD_MAX, 10.0, "length_precision" );
GroupArgumentsLayout->addWidget( SpinBox_Near, 0, 1 );
TextLabelFar = new QLabel( tr( "Far" ), GroupArguments );
GroupArgumentsLayout->addWidget( TextLabelFar, 0, 2 );
- SpinBox_Far = new SalomeApp_DoubleSpinBox( COORD_MIN, COORD_MAX, 10.0, 3, 10, GroupArguments );
+ SpinBox_Far = new SalomeApp_DoubleSpinBox( GroupArguments );
+ initSpinBox( SpinBox_Far, COORD_MIN, COORD_MAX, 10.0, "length_precision" );
GroupArgumentsLayout->addWidget( SpinBox_Far, 0, 3 );
resetButton = new QPushButton( tr( "Reset" ), GroupArguments );
// Set range of spinboxes
double SpecificStep = 10.0;
- initSpinBox(GroupVertexes->SpinBox_DX, 0.00001, COORD_MAX, SpecificStep, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupVertexes->SpinBox_DX, 0.00001, COORD_MAX, SpecificStep, "length_precision" );
setHelpFileName(myIs1D ? "fillet1d_operation_page.html" : "fillet2d_operation_page.html");
// Set range of spinboxes
double SpecificStep = 10.0;
- initSpinBox(Group1->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group2->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group2->SpinBox_DY, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group2->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group3->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group3->SpinBox_DY, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group3->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(Group1->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group2->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group2->SpinBox_DY, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group2->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group3->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group3->SpinBox_DY, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group3->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep, "length_precision" );
setHelpFileName("fillet_operation_page.html");
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes
- initSpinBox(GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DY, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DZ, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DY, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DZ, 0.000001, COORD_MAX, step, "length_precision" );
// init variables
GroupPoints->LineEdit1->setReadOnly(true);
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, 0.0, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox_DY, 0.0, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox_DZ, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DX, 0.0, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DY, 0.0, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DZ, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, 0.0, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox_DY, 0.0, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox_DZ, 0.00001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.0, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DY, 0.0, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DZ, 0.00001, COORD_MAX, step, "length_precision" );
// init variables
GroupPoints->LineEdit1->setReadOnly(true);
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox_DY, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DY, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, 0.00001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox_DY, 0.00001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DY, 0.00001, COORD_MAX, step, "length_precision" );
// init variables
myEditCurrentArgument = GroupPoints->LineEdit1;
double aStep = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPntVecR->SpinBox_DX, 0.00001, COORD_MAX, aStep, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, aStep, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPntVecR->SpinBox_DX, 0.00001, COORD_MAX, aStep, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, aStep, "length_precision" );
// init variables
myEditCurrentArgument = GroupPntVecR->LineEdit1;
double aDefaultSize = 100.0;
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupPlane->SpinBox_DX, 0.00001, COORD_MAX, aStep, 5 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPlane->SpinBox_DX, 0.00001, COORD_MAX, aStep, "length_precision" );
GroupPlane->SpinBox_DX->setValue( aDefaultSize );
- initSpinBox( GroupPlane->SpinBox_DY, 0.00001, COORD_MAX, aStep, 5 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPlane->SpinBox_DY, 0.00001, COORD_MAX, aStep, "length_precision" );
GroupPlane->SpinBox_DY->setValue( aDefaultSize );
- initSpinBox( GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, aStep, 5 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, aStep, "length_precision" );
GroupDimensions->SpinBox_DX->setValue( aDefaultSize );
- initSpinBox( GroupDimensions->SpinBox_DY, 0.00001, COORD_MAX, aStep, 5 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupDimensions->SpinBox_DY, 0.00001, COORD_MAX, aStep, "length_precision" );
GroupDimensions->SpinBox_DY->setValue( aDefaultSize );
{
GroupPlane->SpinBox_DX->setSingleStep(step);
GroupPlane->SpinBox_DY->setSingleStep(step);
+ GroupDimensions->SpinBox_DX->setSingleStep(step);
+ GroupDimensions->SpinBox_DY->setSingleStep(step);
}
//=================================================================================
double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox_DX->setValue( 100.0 );
GroupDimensions->SpinBox_DX->setValue( 100.0 );
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox_DY, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DY, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox_DY, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DY, 0.000001, COORD_MAX, step, "length_precision" );
// init variables
GroupPoints->LineEdit1->setReadOnly(true);
myIsParameterGr->addButton( rb2, 1 );
rb1->setChecked( true );
- myValEdt = new SalomeApp_DoubleSpinBox( 0., 1., 0.1, 3, 32, GroupPoints->Box );
+ myValEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
+ initSpinBox( myValEdt, 0., 1., 0.1, "parametric_precision" );
myValEdt->setValue( 0.5 );
QLabel* aLbl1 = new QLabel( tr( "GEOM_VALUE" ), GroupPoints->Box );
GroupPoints->LineEdit1->setReadOnly( true );
QLabel* aTolLab = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->Box );
- myTolEdt = new SalomeApp_DoubleSpinBox( 0.0, 100.0, DEFAULT_TOLERANCE_VALUE, 7, 7, GroupPoints->Box );
+ myTolEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
+ initSpinBox( myTolEdt, 0., 100., DEFAULT_TOLERANCE_VALUE, "len_tol_precision" );
myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
QGridLayout* boxLayout = new QGridLayout( GroupPoints->Box );
QLabel* aTolLab2 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints2->Box );
myTolEdt2 = new SalomeApp_DoubleSpinBox( GroupPoints2->Box );
- initSpinBox( myTolEdt2, 0, 100, 1e-7, 7 );
+ initSpinBox( myTolEdt2, 0., 100., DEFAULT_TOLERANCE_VALUE, "len_tol_precision" );
myTolEdt2->setValue( DEFAULT_TOLERANCE_VALUE );
myDetectBtn = new QPushButton( tr( "GEOM_DETECT" ) + QString( " [%1]" ).arg( tr( "GLUE_FACES" ) ),
QGridLayout* aLay = new QGridLayout( GroupPoints->Box );
aLay->setMargin( 0 ); aLay->setSpacing( 6 );
- myTolEdt = new SalomeApp_DoubleSpinBox( 0.0, 100.0, DEFAULT_TOLERANCE_VALUE, 7, 10, GroupPoints->Box );
+ myTolEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
+ initSpinBox( myTolEdt, 0.0, 100.0, DEFAULT_TOLERANCE_VALUE, "len_tol_precision" );
myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
QLabel* aLbl1 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->Box );
myFreeBoundBtn = new QPushButton( tr( "GEOM_DETECT" ) + QString( " [%1]" ).arg( tr( "GEOM_FREE_BOUNDARIES" ) ),
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- myFixShapeTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
- myFixShapeMaxTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myFixShapeTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myFixShapeTol3D, 0., 100., 1e-7, "len_tol_precision" );
+ myFixShapeMaxTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myFixShapeMaxTol3D, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
aLay->addWidget( myFixShapeTol3D, 0, 1 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- myFixFaceSizeTol = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myFixFaceSizeTol = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myFixFaceSizeTol, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_TOLERANCE" ), w ), 0, 0 );
aLay->addWidget( myFixFaceSizeTol, 0, 1 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- myDropSmallEdgesTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myDropSmallEdgesTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myDropSmallEdgesTol3D, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
aLay->addWidget( myDropSmallEdgesTol3D, 0, 1 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- mySplitAngleAngle = new SalomeApp_DoubleSpinBox( 0, 360, 1, 10, 10, w );
- mySplitAngleMaxTol = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ mySplitAngleAngle = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySplitAngleAngle, 0, 360, 1, "angle_precision" );
+ mySplitAngleMaxTol = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySplitAngleMaxTol, 0., 100., 1e-7, "ang_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_ANGLE_1" ), w ), 0, 0 );
aLay->addWidget( mySplitAngleAngle, 0, 1 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- mySplitContTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ mySplitContTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySplitContTol3D, 0., 100., 1e-7, "len_tol_precision" );
mySplitContSurfCont = new QComboBox( w );
mySplitContSurfCont->addItems( aContinueties );
mySplitContCurvCont = new QComboBox( w );
myBSpline3DCurveChk = new QCheckBox( tr("GEOM_3D_CURVE_MODE"), w );
myBSpline2DCurveChk = new QCheckBox( tr("GEOM_2D_CURVE_MODE"), w );
- myBSplineTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myBSplineTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySplitContTol3D, 0., 100., 1e-7, "len_tol_precision" );
- myBSplineTol2D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myBSplineTol2D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myBSplineTol2D, 0., 100., 1e-7, "param_tol_precision" );
myBSplineDegree = new SalomeApp_IntSpinBox( w );
myBSplineSegments = new SalomeApp_IntSpinBox( w );
myToBezier3DCurveChk = new QCheckBox( tr("GEOM_3D_CURVE_MODE"), w );
myToBezier2DCurveChk = new QCheckBox( tr("GEOM_2D_CURVE_MODE"), w );
- myToBezierMaxTol = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myToBezierMaxTol = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myToBezierMaxTol, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( myToBezierSurfModeChk, 0, 0 );
aLay->addWidget( myToBezier3DCurveChk, 1, 0 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- mySameParameterTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ mySameParameterTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySameParameterTol3D, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
aLay->addWidget( mySameParameterTol3D, 0, 1 );
initSpinBox(GroupPoints->SpinBox_DX, 1, 999, SpecificStep2);
GroupPoints->SpinBox_DX->setValue(myNbTimes1);
- initSpinBox(GroupDimensions->SpinBox_DX1, COORD_MIN, COORD_MAX, SpecificStep1, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX1, COORD_MIN, COORD_MAX, SpecificStep1, "angle_precision" );
initSpinBox(GroupDimensions->SpinBox_DY1, 1, 999, SpecificStep2);
- initSpinBox(GroupDimensions->SpinBox_DX2, COORD_MIN, COORD_MAX, step, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX2, COORD_MIN, COORD_MAX, step,"length_precision" );
initSpinBox(GroupDimensions->SpinBox_DY2, 1, 999, SpecificStep2);
GroupDimensions->SpinBox_DX1->setValue(myAng);
GroupDimensions->SpinBox_DY1->setValue(myNbTimes1);
//=================================================================================
void TransformationGUI_MultiRotationDlg::SetDoubleSpinBoxStep (double step)
{
- GroupPoints->SpinBox_DX->setSingleStep((int)step);
- GroupDimensions->SpinBox_DX1->setSingleStep(step);
- GroupDimensions->SpinBox_DY1->setSingleStep((int)step);
GroupDimensions->SpinBox_DX2->setSingleStep(step);
- GroupDimensions->SpinBox_DY2->setSingleStep((int)step);
+
+ // san: Commented so as not to override specific step settings
+ //GroupPoints->SpinBox_DX->setSingleStep((int)step);
+ //GroupDimensions->SpinBox_DX1->setSingleStep(step);
+ //GroupDimensions->SpinBox_DY1->setSingleStep((int)step);
+ //GroupDimensions->SpinBox_DY2->setSingleStep((int)step);
}
//=================================================================================
int SpecificStep = 1;
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
initSpinBox(GroupPoints->SpinBox_DY, 1, 999, SpecificStep);
GroupPoints->SpinBox_DX->setValue(myStepU);
GroupPoints->SpinBox_DY->setValue(myNbTimesU);
- initSpinBox(GroupDimensions->SpinBox_DX1, COORD_MIN, COORD_MAX, step, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX1, COORD_MIN, COORD_MAX, step, "length_precision" );
initSpinBox(GroupDimensions->SpinBox_DY1, 1, 999, SpecificStep);
- initSpinBox(GroupDimensions->SpinBox_DX2, COORD_MIN, COORD_MAX, step, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX2, COORD_MIN, COORD_MAX, step, "length_precision" );
initSpinBox(GroupDimensions->SpinBox_DY2, 1, 999, SpecificStep);
GroupDimensions->SpinBox_DX1->setValue(myStepU);
GroupDimensions->SpinBox_DY1->setValue(myNbTimesU);
void TransformationGUI_MultiTranslationDlg::SetDoubleSpinBoxStep (double step)
{
GroupPoints->SpinBox_DX->setSingleStep(step);
- GroupPoints->SpinBox_DY->setSingleStep((int)step);
- GroupDimensions->SpinBox_DX1->setSingleStep(step);
- GroupDimensions->SpinBox_DY1->setSingleStep((int)step);
+ GroupDimensions->SpinBox_DX1->setSingleStep(step);
GroupDimensions->SpinBox_DX2->setSingleStep(step);
- GroupDimensions->SpinBox_DY2->setSingleStep((int)step);
+
+ // san : Commented so as not to override specific step settings
+ //GroupPoints->SpinBox_DY->setSingleStep((int)step);
+ //GroupDimensions->SpinBox_DY1->setSingleStep((int)step);
+ //GroupDimensions->SpinBox_DY2->setSingleStep((int)step);
}
//=================================================================================
double step = 1;
/* min, max, step and decimals for spin boxes & initial values */
- initSpinBox( GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox_DX->setValue( 1e-05 );
// Activate Create a Copy mode
Group1->LineEdit4->setText("");
Group1->LineEdit5->setText("");
- initSpinBox(Group1->SpinBox_DX, 0, 1, 0.05, 6); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox(Group1->SpinBox_DX, 0, 1, 0.05, "parametric_precision" );
Group1->SpinBox_DX->setValue(0);
Group1->CheckButton2->setEnabled(false);
double SpecificStep = 5;
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, SpecificStep, "angle_precision" );
GroupPoints->SpinBox_DX->setValue(anAngle);
// init variables
double aFactor = 2.0;
double SpecificStep = 0.5;
- initSpinBox(SpinBox_FX, COORD_MIN, COORD_MAX, SpecificStep, DBL_DIGITS_DISPLAY);
- initSpinBox(SpinBox_FY, COORD_MIN, COORD_MAX, SpecificStep, DBL_DIGITS_DISPLAY);
- initSpinBox(SpinBox_FZ, COORD_MIN, COORD_MAX, SpecificStep, DBL_DIGITS_DISPLAY);
+ initSpinBox(SpinBox_FX, COORD_MIN, COORD_MAX, SpecificStep, "parametric_precision" );
+ initSpinBox(SpinBox_FY, COORD_MIN, COORD_MAX, SpecificStep, "parametric_precision" );
+ initSpinBox(SpinBox_FZ, COORD_MIN, COORD_MAX, SpecificStep, "parametric_precision" );
SpinBox_FX->setValue(aFactor);
SpinBox_FY->setValue(aFactor);
SpinBox_FZ->setValue(aFactor);
connect(SpinBox_FX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox()));
connect(SpinBox_FY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox()));
connect(SpinBox_FZ, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox()));
-
- connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
+
+ // san : Commented so as not to override specific step settings
+ //connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
connect(CheckBoxCopy, SIGNAL(toggled(bool)), this, SLOT(CreateCopyModeChanged(bool)));
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox1, COORD_MIN, COORD_MAX, step, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox2, COORD_MIN, COORD_MAX, step, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox3, COORD_MIN, COORD_MAX, step, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox1, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox2, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox3, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox1->setValue(0.0);
GroupPoints->SpinBox2->setValue(0.0);