-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
myGrp = new MeasureGUI_1Sel12LineEdit( centralWidget() );
myGrp->GroupBox1->setTitle( tr( "GEOM_MATRIX" ) );
myGrp->TextLabel1->setText( tr( "GEOM_OBJECT" ) );
- myGrp->TextLabel2->setText( tr( "GEOM_INERTIA_I" ).arg( "1" ) );
- myGrp->TextLabel3->setText( tr( "GEOM_INERTIA_I" ).arg( "2" ) );
- myGrp->TextLabel4->setText( tr( "GEOM_INERTIA_I" ).arg( "3" ) );
- myGrp->TextLabel5->setText( tr( "GEOM_INERTIA_IXYZ" ) );
+ myGrp->TextLabel2_1->setText( "1:1" );
+ myGrp->TextLabel2_2->setText( "1:2" );
+ myGrp->TextLabel2_3->setText( "1:3" );
+ myGrp->TextLabel3_1->setText( "2:1" );
+ myGrp->TextLabel3_2->setText( "2:2" );
+ myGrp->TextLabel3_3->setText( "2:3" );
+ myGrp->TextLabel4_1->setText( "3:1" );
+ myGrp->TextLabel4_2->setText( "3:2" );
+ myGrp->TextLabel4_3->setText( "3:3" );
+ myGrp->TextLabel5_1->setText( "IX" );
+ myGrp->TextLabel5_2->setText( "IY" );
+ myGrp->TextLabel5_3->setText( "IZ" );
myGrp->LineEdit11->setReadOnly( true );
myGrp->LineEdit12->setReadOnly( true );
myGrp->LineEdit13->setReadOnly( true );
MeasureGUI_Skeleton::Init();
}
+//=================================================================================
+// function : activateSelection()
+// purpose :
+//=================================================================================
+void MeasureGUI_InertiaDlg::activateSelection()
+{
+ MeasureGUI_Skeleton::activateSelection();
+ std::list<int> needTypes;
+ 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 );
+}
+
+
//=================================================================================
// function : processObject
// purpose :
bool MeasureGUI_InertiaDlg::getParameters( gp_Mat& I,
gp_XYZ& theIXYZ )
{
- if ( myObj->_is_nil() )
+ if ( !myObj )
return false;
else {
GEOM::GEOM_IMeasureOperations_var anOper = GEOM::GEOM_IMeasureOperations::_narrow( getOperation() );
try {
double x, y, z;
- anOper->GetInertia( myObj,
+ anOper->GetInertia( myObj.get(),
I( 1, 1 ), I( 1, 2 ), I( 1, 3 ),
I( 2, 1 ), I( 2, 2 ), I( 2, 3 ),
I( 3, 1 ), I( 3, 2 ), I( 3, 3 ),
return anOper->IsDone();
}
}
+
+void MeasureGUI_InertiaDlg::SelectionIntoArgument()
+{
+ myObj.nullify();
+ QList<TopAbs_ShapeEnum> aTypes;
+ aTypes << TopAbs_VERTEX << TopAbs_EDGE << TopAbs_WIRE << TopAbs_FACE << TopAbs_SHELL << TopAbs_SOLID << TopAbs_COMPSOLID << TopAbs_COMPOUND << TopAbs_SHAPE;
+ myObj = getSelected( aTypes );
+
+ if (!myObj) {
+ mySelEdit->setText("");
+ processObject();
+ erasePreview();
+ return;
+ }
+
+ mySelEdit->setText(GEOMBase::GetName(myObj.get()));
+ processObject();
+ redisplayPreview();
+}