0023137: [CEA 1570] WhatIs on a Local Coordinates System returns POLYGON

Kind Of Shape functionality has been adopted for Local Coordinate system objects.
This commit is contained in:
vsr 2015-08-18 16:54:08 +03:00
parent 914938a458
commit 2146f8da30
8 changed files with 351 additions and 234 deletions

View File

@ -4216,6 +4216,7 @@ module GEOM
// VERTEX // VERTEX
VERTEX, VERTEX,
// ADVANCED shapes // ADVANCED shapes
LCS,
/*! all advanced shapes (temporary implementation) */ /*! all advanced shapes (temporary implementation) */
ADVANCED ADVANCED
}; };

View File

@ -5144,6 +5144,10 @@ Please, select face, shell or solid and try again</translation>
<source>GEOM_Z_I</source> <source>GEOM_Z_I</source>
<translation>Z%1 :</translation> <translation>Z%1 :</translation>
</message> </message>
<message>
<source>GEOM_A_I</source>
<translation>A%1 :</translation>
</message>
<message> <message>
<source>GEOM_SHAPES_ON_SHAPE_TITLE</source> <source>GEOM_SHAPES_ON_SHAPE_TITLE</source>
<translation>Get shapes on shape</translation> <translation>Get shapes on shape</translation>
@ -5416,6 +5420,22 @@ shells and solids on the other hand.</translation>
<source>GEOM_PLOT_DISTRIBUTION</source> <source>GEOM_PLOT_DISTRIBUTION</source>
<translation>Plot</translation> <translation>Plot</translation>
</message> </message>
<message>
<source>GEOM_X_AXIS</source>
<translation>X Axis</translation>
</message>
<message>
<source>GEOM_Y_AXIS</source>
<translation>Y Axis</translation>
</message>
<message>
<source>GEOM_Z_AXIS</source>
<translation>Z Axis</translation>
</message>
<message>
<source>GEOM_DIM_AXES</source>
<translation>Dimensions along local axes</translation>
</message>
</context> </context>
<context> <context>
<name>GeometryGUI</name> <name>GeometryGUI</name>

View File

@ -5136,6 +5136,10 @@ Choisissez une face, une coque ou un solide et essayez de nouveau</translation>
<source>GEOM_Z_I</source> <source>GEOM_Z_I</source>
<translation>Z%1 :</translation> <translation>Z%1 :</translation>
</message> </message>
<message>
<source>GEOM_A_I</source>
<translation>A%1 :</translation>
</message>
<message> <message>
<source>GEOM_SHAPES_ON_SHAPE_TITLE</source> <source>GEOM_SHAPES_ON_SHAPE_TITLE</source>
<translation>Trouver les éléments d&apos;un objet</translation> <translation>Trouver les éléments d&apos;un objet</translation>
@ -5408,6 +5412,22 @@ le paramètre &apos;%1&apos; aux préférences du module Géométrie.</translati
<source>GEOM_PLOT_DISTRIBUTION</source> <source>GEOM_PLOT_DISTRIBUTION</source>
<translation type="unfinished">Plot</translation> <translation type="unfinished">Plot</translation>
</message> </message>
<message>
<source>GEOM_X_AXIS</source>
<translation>Axe X</translation>
</message>
<message>
<source>GEOM_Y_AXIS</source>
<translation>Axe Y</translation>
</message>
<message>
<source>GEOM_Z_AXIS</source>
<translation>Axe Z</translation>
</message>
<message>
<source>GEOM_DIM_AXES</source>
<translation type="unfinished">Dimensions along local axes</translation>
</message>
</context> </context>
<context> <context>
<name>GeometryGUI</name> <name>GeometryGUI</name>

View File

@ -5147,6 +5147,10 @@
<source>GEOM_Z_I</source> <source>GEOM_Z_I</source>
<translation>Z%1 :</translation> <translation>Z%1 :</translation>
</message> </message>
<message>
<source>GEOM_A_I</source>
<translation>A%1 :</translation>
</message>
<message> <message>
<source>GEOM_SHAPES_ON_SHAPE_TITLE</source> <source>GEOM_SHAPES_ON_SHAPE_TITLE</source>
<translation></translation> <translation></translation>
@ -5415,6 +5419,22 @@
<source>GEOM_PLOT_DISTRIBUTION</source> <source>GEOM_PLOT_DISTRIBUTION</source>
<translation type="unfinished">Plot</translation> <translation type="unfinished">Plot</translation>
</message> </message>
<message>
<source>GEOM_X_AXIS</source>
<translation type="unfinished">Axe X</translation>
</message>
<message>
<source>GEOM_Y_AXIS</source>
<translation type="unfinished">Axe Y</translation>
</message>
<message>
<source>GEOM_Z_AXIS</source>
<translation type="unfinished">Axe Z</translation>
</message>
<message>
<source>GEOM_DIM_AXES</source>
<translation type="unfinished">Dimensions along local axes</translation>
</message>
</context> </context>
<context> <context>
<name>GeometryGUI</name> <name>GeometryGUI</name>

View File

@ -63,6 +63,7 @@
#include <GeomAPI_ProjectPointOnSurf.hxx> #include <GeomAPI_ProjectPointOnSurf.hxx>
#include <GeomLProp_CLProps.hxx> #include <GeomLProp_CLProps.hxx>
#include <GeomLProp_SLProps.hxx> #include <GeomLProp_SLProps.hxx>
#include <Geom_Plane.hxx>
#include <GProp_GProps.hxx> #include <GProp_GProps.hxx>
#include <GProp_PrincipalProps.hxx> #include <GProp_PrincipalProps.hxx>
#include <ShapeAnalysis.hxx> #include <ShapeAnalysis.hxx>
@ -147,6 +148,38 @@ GEOMImpl_IMeasureOperations::ShapeKind GEOMImpl_IMeasureOperations::KindOfShape
} }
const GEOMAlgo_ShapeInfo& anInfo = aSF.Info(); const GEOMAlgo_ShapeInfo& anInfo = aSF.Info();
// specific processing for some "advandced" objects
switch ( geom_type ) {
case GEOM_MARKER:
// local coordinate systen
// (+) geompy.kind.LCS xc yc zc xx xy xz yx yy yz zx zy zz
TopoDS_Face aFace = TopoDS::Face( aShape );
Handle(Geom_Plane) aPlane = Handle(Geom_Plane)::DownCast( BRep_Tool::Surface( aFace ) );
gp_Pnt aC = aPlane->Pln().Location();
gp_Ax3 anAx3 = aPlane->Pln().Position();
theDoubles->Append(aC.X());
theDoubles->Append(aC.Y());
theDoubles->Append(aC.Z());
gp_Dir aD = anAx3.XDirection();
theDoubles->Append(aD.X());
theDoubles->Append(aD.Y());
theDoubles->Append(aD.Z());
aD = anAx3.YDirection();
theDoubles->Append(aD.X());
theDoubles->Append(aD.Y());
theDoubles->Append(aD.Z());
aD = anAx3.Direction();
theDoubles->Append(aD.X());
theDoubles->Append(aD.Y());
theDoubles->Append(aD.Z());
SetErrorCode(OK);
return SK_LCS;
}
// Interprete results // Interprete results
TopAbs_ShapeEnum aType = anInfo.Type(); TopAbs_ShapeEnum aType = anInfo.Type();
switch (aType) switch (aType)

View File

@ -80,8 +80,10 @@ class GEOMImpl_IMeasureOperations : public GEOM_IOperations {
SK_SEGMENT, // segment SK_SEGMENT, // segment
SK_EDGE, // other edge SK_EDGE, // other edge
// VERTEX // VERTEX
SK_VERTEX, SK_VERTEX, // vertex
// ADVANCED shapes // ADVANCED shapes
SK_LCS, // local coordinate system
// (other advanced shapes)
SK_ADVANCED, // all advanced shapes (temporary implementation) SK_ADVANCED, // all advanced shapes (temporary implementation)
}; };

View File

@ -600,6 +600,8 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen):
# - EDGE: [nb_vertices] # - EDGE: [nb_vertices]
# #
# - VERTEX: [x y z] # - VERTEX: [x y z]
#
# - LCS: [x y z xx xy xz yx yy yz zx zy zz]
# @ingroup l1_geomBuilder_auxiliary # @ingroup l1_geomBuilder_auxiliary
kind = GEOM.GEOM_IKindOfShape kind = GEOM.GEOM_IKindOfShape

View File

@ -193,10 +193,8 @@ void MeasureGUI_WhatisDlg::processObject()
//================================================================================= //=================================================================================
void MeasureGUI_WhatisDlg::activateSelection() void MeasureGUI_WhatisDlg::activateSelection()
{ {
MeasureGUI_Skeleton::activateSelection(); globalSelection(); // all types of objects
std::list<int> needTypes; localSelection(GEOM::GEOM_Object::_nil(), TopAbs_SHAPE); // all types of sub-shapes
needTypes.push_back( TopAbs_VERTEX ), needTypes.push_back( TopAbs_EDGE ), needTypes.push_back( TopAbs_WIRE ), needTypes.push_back( TopAbs_FACE ), needTypes.push_back( TopAbs_SHELL ), needTypes.push_back( TopAbs_SOLID ), needTypes.push_back( TopAbs_COMPOUND );
localSelection(GEOM::GEOM_Object::_nil(), needTypes );
} }
//================================================================================= //=================================================================================
@ -264,7 +262,9 @@ QString MeasureGUI_WhatisDlg::getKindOfShape( QString& theParameters )
if ( !anOper->IsDone() ) if ( !anOper->IsDone() )
return aKindStr; return aKindStr;
#define PRINT_DOUBLE(val, tol) DlgRef::PrintDoubleValue( val, tol ) #define PRINT_DOUBLE(val, tol) QString(" %1").arg( DlgRef::PrintDoubleValue( val, tol ) )
#define TITLE(val) QString("<b>%1</b>").arg(tr(val))
#define TITLE_I(val, i) QString("<b>%1</b>").arg(tr(val).arg(i))
switch ( aKind ) switch ( aKind )
{ {
case GEOM::GEOM_IKindOfShape::COMPOUND: case GEOM::GEOM_IKindOfShape::COMPOUND:
@ -294,85 +294,85 @@ QString MeasureGUI_WhatisDlg::getKindOfShape( QString& theParameters )
// SOLIDs // SOLIDs
case GEOM::GEOM_IKindOfShape::SPHERE: case GEOM::GEOM_IKindOfShape::SPHERE:
aKindStr = tr( "GEOM_SPHERE" ); aKindStr = tr( "GEOM_SPHERE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ); "<br>" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::CYLINDER: case GEOM::GEOM_IKindOfShape::CYLINDER:
aKindStr = tr( "GEOM_CYLINDER" ); aKindStr = tr( "GEOM_CYLINDER" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_AXIS" ) + "<br>" + TITLE( "GEOM_AXIS" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_HEIGHT" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ); "<br>" + tr( "GEOM_HEIGHT" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::BOX: case GEOM::GEOM_IKindOfShape::BOX:
aKindStr = tr( "GEOM_BOX" ); aKindStr = tr( "GEOM_BOX" );
theParameters = tr( "GEOM_CENTER") + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + "Ax :" + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + "Ax :" + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + "Ay :" + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + "Ay :" + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + "Az :" + PRINT_DOUBLE( aDbls[5], aLenPrecision ); "<br>" + "Az :" + PRINT_DOUBLE( aDbls[5], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::ROTATED_BOX: case GEOM::GEOM_IKindOfShape::ROTATED_BOX:
aKindStr = tr( "GEOM_BOX" ); aKindStr = tr( "GEOM_BOX" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\nZ Axis:" + "<br>" + TITLE( "GEOM_Z_AXIS") +
"\n" + "Zx :" + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( "x" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + "Zy :" + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( "y" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + "Zz :" + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( "z" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\nX Axis:" + "<br>" + TITLE( "GEOM_X_AXIS") +
"\n" + tr( "GEOM_X_I" ).arg( "x" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( "x" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_X_I" ).arg( "y" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( "y" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) +
"\n" + tr( "GEOM_X_I" ).arg( "z" ) + PRINT_DOUBLE( aDbls[8], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( "z" ) + PRINT_DOUBLE( aDbls[8], aLenPrecision ) +
"\nDimensions along local axes:" + "<br>" + TITLE( "GEOM_DIM_AXES") +
"\n" + "Ax :" + PRINT_DOUBLE( aDbls[9], aLenPrecision ) + "<br>" + tr( "GEOM_A_I" ).arg( "x" ) + PRINT_DOUBLE( aDbls[9], aLenPrecision ) +
"\n" + "Ay :" + PRINT_DOUBLE( aDbls[10], aLenPrecision ) + "<br>" + tr( "GEOM_A_I" ).arg( "y" ) + PRINT_DOUBLE( aDbls[10], aLenPrecision ) +
"\n" + "Az :" + PRINT_DOUBLE( aDbls[11], aLenPrecision ); "<br>" + tr( "GEOM_A_I" ).arg( "z" ) + PRINT_DOUBLE( aDbls[11], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::TORUS: case GEOM::GEOM_IKindOfShape::TORUS:
aKindStr = tr( "GEOM_TORUS" ); aKindStr = tr( "GEOM_TORUS" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_AXIS" ) + "<br>" + TITLE( "GEOM_AXIS" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_RADIUS_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ); "<br>" + tr( "GEOM_RADIUS_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::CONE: case GEOM::GEOM_IKindOfShape::CONE:
aKindStr = tr( "GEOM_CONE" ); aKindStr = tr( "GEOM_CONE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_AXIS" ) + "<br>" + TITLE( "GEOM_AXIS" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_RADIUS_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) +
"\n" + tr( "GEOM_HEIGHT" ) + PRINT_DOUBLE( aDbls[8], aLenPrecision ); "<br>" + tr( "GEOM_HEIGHT" ) + PRINT_DOUBLE( aDbls[8], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::POLYHEDRON: case GEOM::GEOM_IKindOfShape::POLYHEDRON:
aKindStr = tr( "GEOM_POLYHEDRON" ); aKindStr = tr( "GEOM_POLYHEDRON" );
@ -383,115 +383,115 @@ QString MeasureGUI_WhatisDlg::getKindOfShape( QString& theParameters )
// FACEs // FACEs
case GEOM::GEOM_IKindOfShape::SPHERE2D: case GEOM::GEOM_IKindOfShape::SPHERE2D:
aKindStr = tr( "GEOM_SURFSPHERE" ); aKindStr = tr( "GEOM_SURFSPHERE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ); "<br>" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::CYLINDER2D: case GEOM::GEOM_IKindOfShape::CYLINDER2D:
aKindStr = tr( "GEOM_SURFCYLINDER" ); aKindStr = tr( "GEOM_SURFCYLINDER" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_AXIS" ) + "<br>" + TITLE( "GEOM_AXIS" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_HEIGHT" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ); "<br>" + tr( "GEOM_HEIGHT" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::TORUS2D: case GEOM::GEOM_IKindOfShape::TORUS2D:
aKindStr = tr( "GEOM_SURFTORUS" ); aKindStr = tr( "GEOM_SURFTORUS" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_AXIS" ) + "<br>" + TITLE( "GEOM_AXIS" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_RADIUS_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ); "<br>" + tr( "GEOM_RADIUS_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::CONE2D: case GEOM::GEOM_IKindOfShape::CONE2D:
aKindStr = tr( "GEOM_SURFCONE" ); aKindStr = tr( "GEOM_SURFCONE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_AXIS" ) + "<br>" + TITLE( "GEOM_AXIS" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_RADIUS_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) +
"\n" + tr( "GEOM_HEIGHT" ) + PRINT_DOUBLE( aDbls[8], aLenPrecision ); "<br>" + tr( "GEOM_HEIGHT" ) + PRINT_DOUBLE( aDbls[8], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::DISK_CIRCLE: case GEOM::GEOM_IKindOfShape::DISK_CIRCLE:
aKindStr = tr( "GEOM_DISK_CIRCLE" ); aKindStr = tr( "GEOM_DISK_CIRCLE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ); "<br>" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::DISK_ELLIPSE: case GEOM::GEOM_IKindOfShape::DISK_ELLIPSE:
aKindStr = tr( "GEOM_DISK_ELLIPSE" ); aKindStr = tr( "GEOM_DISK_ELLIPSE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS_MAJOR" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_MAJOR" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_RADIUS_MINOR" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ); "<br>" + tr( "GEOM_RADIUS_MINOR" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::POLYGON: case GEOM::GEOM_IKindOfShape::POLYGON:
aKindStr = tr( "GEOM_POLYGON" ); aKindStr = tr( "GEOM_POLYGON" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ); "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::PLANE: case GEOM::GEOM_IKindOfShape::PLANE:
aKindStr = tr( "GEOM_PLANE" ); aKindStr = tr( "GEOM_PLANE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ); "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::PLANAR: case GEOM::GEOM_IKindOfShape::PLANAR:
aKindStr = tr( "GEOM_PLANAR_FACE" ); aKindStr = tr( "GEOM_PLANAR_FACE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ); "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::FACE: case GEOM::GEOM_IKindOfShape::FACE:
aKindStr = tr( "GEOM_FACE" ); aKindStr = tr( "GEOM_FACE" );
@ -499,105 +499,124 @@ QString MeasureGUI_WhatisDlg::getKindOfShape( QString& theParameters )
// EDGEs // EDGEs
case GEOM::GEOM_IKindOfShape::CIRCLE: case GEOM::GEOM_IKindOfShape::CIRCLE:
aKindStr = tr( "GEOM_CIRCLE" ); aKindStr = tr( "GEOM_CIRCLE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ); "<br>" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::ARC_CIRCLE: case GEOM::GEOM_IKindOfShape::ARC_CIRCLE:
aKindStr = tr( "GEOM_ARC" ); aKindStr = tr( "GEOM_ARC" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_POINT_I" ).arg( 1 ) + "<br>" + TITLE_I( "GEOM_POINT_I", 1 ) +
"\n" + tr( "GEOM_X_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[8], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[8], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[9], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[9], aLenPrecision ) +
"\n" + tr( "GEOM_POINT_I" ).arg( 2 ) + "<br>" + TITLE_I( "GEOM_POINT_I", 2 ) +
"\n" + tr( "GEOM_X_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[10], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[10], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[11], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[11], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[12], aLenPrecision ); "<br>" + tr( "GEOM_Z_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[12], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::ELLIPSE: case GEOM::GEOM_IKindOfShape::ELLIPSE:
aKindStr = tr( "GEOM_ELLIPSE" ); aKindStr = tr( "GEOM_ELLIPSE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS_MAJOR" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_MAJOR" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_RADIUS_MINOR" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ); "<br>" + tr( "GEOM_RADIUS_MINOR" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::ARC_ELLIPSE: case GEOM::GEOM_IKindOfShape::ARC_ELLIPSE:
aKindStr = tr( "GEOM_ARC_ELLIPSE" ); aKindStr = tr( "GEOM_ARC_ELLIPSE" );
theParameters = tr( "GEOM_CENTER" ) + theParameters = TITLE( "GEOM_CENTER" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_NORMAL" ) + "<br>" + TITLE( "GEOM_NORMAL" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) + "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"\n" + tr( "GEOM_DIMENSIONS" ) + "<br>" + TITLE( "GEOM_DIMENSIONS" ) +
"\n" + tr( "GEOM_RADIUS_MAJOR" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_MAJOR" ) + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"\n" + tr( "GEOM_RADIUS_MINOR" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) + "<br>" + tr( "GEOM_RADIUS_MINOR" ) + PRINT_DOUBLE( aDbls[7], aLenPrecision ) +
"\n" + tr( "GEOM_POINT_I" ).arg( 1 ) + "<br>" + TITLE_I( "GEOM_POINT_I", 1 ) +
"\n" + tr( "GEOM_X_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[8], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[8], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[9], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[9], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[10], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[10], aLenPrecision ) +
"\n" + tr( "GEOM_POINT_I" ).arg( 2 ) + "<br>" + TITLE_I( "GEOM_POINT_I", 2 ) +
"\n" + tr( "GEOM_X_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[11], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[11], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[12], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[12], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[13], aLenPrecision ); "<br>" + tr( "GEOM_Z_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[13], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::LINE: case GEOM::GEOM_IKindOfShape::LINE:
aKindStr = tr( "GEOM_LINE" ); aKindStr = tr( "GEOM_LINE" );
theParameters = tr( "GEOM_POSITION" ) + theParameters = TITLE( "GEOM_POSITION" ) +
"\n" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_DIRECTION" ) + "<br>" + TITLE( "GEOM_DIRECTION" ) +
"\n" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_DX" ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_DY" ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ); "<br>" + tr( "GEOM_DZ" ) + PRINT_DOUBLE( aDbls[5], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::SEGMENT: case GEOM::GEOM_IKindOfShape::SEGMENT:
aKindStr = tr( "GEOM_SEGMENT" ); aKindStr = tr( "GEOM_SEGMENT" );
theParameters = tr( "GEOM_POINT_I" ).arg( 1 ) + theParameters = TITLE_I( "GEOM_POINT_I", 1 ) +
"\n" + tr( "GEOM_X_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) + "<br>" + tr( "GEOM_Z_I" ).arg( 1 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"\n" + tr( "GEOM_POINT_I" ).arg( 2 ) + "<br>" + TITLE_I( "GEOM_POINT_I", 2 ) +
"\n" + tr( "GEOM_X_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) + "<br>" + tr( "GEOM_X_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"\n" + tr( "GEOM_Y_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) + "<br>" + tr( "GEOM_Y_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"\n" + tr( "GEOM_Z_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[5], aLenPrecision ); "<br>" + tr( "GEOM_Z_I" ).arg( 2 ) + PRINT_DOUBLE( aDbls[5], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::EDGE: case GEOM::GEOM_IKindOfShape::EDGE:
aKindStr = tr( "GEOM_EDGE" ); aKindStr = tr( "GEOM_EDGE" );
break; break;
case GEOM::GEOM_IKindOfShape::VERTEX: case GEOM::GEOM_IKindOfShape::VERTEX:
aKindStr = tr( "GEOM_VERTEX" ); aKindStr = tr( "GEOM_VERTEX" );
theParameters = tr( "GEOM_COORDINATES" ) + theParameters = TITLE( "GEOM_COORDINATES" ) +
"\n" + tr( "GEOM_X" ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) + "<br>" + tr( "GEOM_X" ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"\n" + tr( "GEOM_Y" ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) + "<br>" + tr( "GEOM_Y" ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"\n" + tr( "GEOM_Z" ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ); "<br>" + tr( "GEOM_Z" ) + PRINT_DOUBLE( aDbls[2], aLenPrecision );
break;
case GEOM::GEOM_IKindOfShape::LCS:
aKindStr = tr( "GEOM_LCS" );
theParameters = TITLE("GEOM_POSITION") +
"<br>" + tr( "GEOM_X_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[0], aLenPrecision ) +
"<br>" + tr( "GEOM_Y_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[1], aLenPrecision ) +
"<br>" + tr( "GEOM_Z_I" ).arg( 0 ) + PRINT_DOUBLE( aDbls[2], aLenPrecision ) +
"<br>" + TITLE( "GEOM_X_AXIS") +
"<br>" + "Xx :" + PRINT_DOUBLE( aDbls[3], aLenPrecision ) +
"<br>" + "Xy :" + PRINT_DOUBLE( aDbls[4], aLenPrecision ) +
"<br>" + "Xz :" + PRINT_DOUBLE( aDbls[5], aLenPrecision ) +
"<br>" + TITLE( "GEOM_Y_AXIS") +
"<br>" + "Yx :" + PRINT_DOUBLE( aDbls[6], aLenPrecision ) +
"<br>" + "Yy :" + PRINT_DOUBLE( aDbls[7], aLenPrecision ) +
"<br>" + "Yz :" + PRINT_DOUBLE( aDbls[8], aLenPrecision ) +
"<br>" + TITLE( "GEOM_Z_AXIS") +
"<br>" + "Zx :" + PRINT_DOUBLE( aDbls[9], aLenPrecision ) +
"<br>" + "Zy :" + PRINT_DOUBLE( aDbls[10], aLenPrecision ) +
"<br>" + "Zz :" + PRINT_DOUBLE( aDbls[11], aLenPrecision );
break; break;
case GEOM::GEOM_IKindOfShape::ADVANCED: case GEOM::GEOM_IKindOfShape::ADVANCED:
{ {
@ -629,4 +648,4 @@ void MeasureGUI_WhatisDlg::SelectionIntoArgument()
mySelEdit->setText(GEOMBase::GetName(myObj.get())); mySelEdit->setText(GEOMBase::GetName(myObj.get()));
processObject(); processObject();
redisplayPreview(); redisplayPreview();
} }