#include <OCCViewer_AISSelector.h>
+#include <Precision.hxx>
+
+static int ZValueIncrement = 0;
+
HYDROGUI_PolylineOp::HYDROGUI_PolylineOp( HYDROGUI_Module* theModule, bool theIsEdit )
: HYDROGUI_Operation( theModule ), myIsEdit(theIsEdit), myCurve(NULL),
myViewManager(NULL), myAISCurve(NULL)
void HYDROGUI_PolylineOp::startOperation()
{
- CurveCreator_Curve* anOldCurve = myCurve;
+ if( myCurve )
+ {
+ delete myCurve;
+ myCurve = 0;
+ }
HYDROGUI_Operation::startOperation();
myEditedObject = Handle(HYDROData_Polyline)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
if( !myEditedObject.IsNull() )
{
- int anIntDim = myEditedObject->getDimension();
+ int anIntDim = myEditedObject->GetDimension();
CurveCreator::Dimension aDim = CurveCreator::Dim3d;
if( anIntDim == 2 )
aDim = CurveCreator::Dim2d;
myCurve = new CurveCreator_Curve(aDim);
- QList<PolylineSection> aPolylineData = myEditedObject->getPolylineData();
+ QList<PolylineSection> aPolylineData = myEditedObject->GetPolylineData();
CurveCreator_CurveEditor* anEdit = new CurveCreator_CurveEditor(myCurve);
for( int i = 0 ; i < aPolylineData.size() ; i++ ){
aPanel->setPolylineName(aNewName);
}
aPanel->setCurve(myCurve);
+
if( myAISCurve )
myAISCurve->setCurve(myCurve);
- if( anOldCurve )
- delete anOldCurve;
+
displayPreview();
}
}
else{
aPolylineObj = Handle(HYDROData_Polyline)::DownCast( aDocument->CreateObject( KIND_POLYLINE ) );
+
+ double aZValue = double( ++ZValueIncrement ) * 1e-2; // empiric value, to be revised
+ aPolylineObj->SetZValue( aZValue );
}
if( aPolylineObj.IsNull() )
int aDimInt = 3;
if( myCurve->getDimension() == CurveCreator::Dim2d )
aDimInt = 2;
- aPolylineObj->setDimension(aDimInt);
+ aPolylineObj->SetDimension(aDimInt);
QList<PolylineSection> aPolylineData;
for( int i=0 ; i < myCurve->getNbSections() ; i++ ){
PolylineSection aSect;
}
aPolylineData << aSect;
}
- aPolylineObj->setPolylineData(aPolylineData);
+ aPolylineObj->SetPolylineData(aPolylineData);
theUpdateFlags = UF_Model;
module()->setObjectVisible( HYDROGUI_Tool::GetActiveGraphicsViewId( module() ), aPolylineObj, true );