#include "HYDROGUI_Module.h"
#include "HYDROGUI_Shape.h"
#include "HYDROGUI_Tool.h"
+#include "HYDROGUI_Tool2.h"
#include "HYDROGUI_UpdateFlags.h"
#include <HYDROData_Iterator.h>
#include <LightApp_Application.h>
#include <LightApp_UpdateFlags.h>
+#include <HYDROData_ChannelAltitude.h>
#include <TopoDS.hxx>
aPanel->setGuideLineName( aSelectedGuideLine );
aPanel->setProfileName( aSelectedProfile );
+ if( !myEditedObject.IsNull() )
+ aPanel->setEquiDistance( myEditedObject->GetEquiDistance() );
+ else
+ aPanel->setEquiDistance( 1.0 );
+
+ if( !myEditedObject.IsNull() )
+ {
+ bool invDirection = false;
+ Handle(HYDROData_IAltitudeObject) anObjAltitude = myEditedObject->GetAltitudeObject();
+ Handle(HYDROData_ChannelAltitude) aChannelAlt = Handle(HYDROData_ChannelAltitude)::DownCast(anObjAltitude);
+ if (!aChannelAlt.IsNull())
+ invDirection = aChannelAlt->GetInvertDirection();
+ aPanel->setInvertDirection( invDirection );
+ }
+ else
+ aPanel->setInvertDirection( false );
+
aPanel->blockSignals( false );
onCreatePreview();
myEditedObject->RemoveProfile();
myEditedObject->SetProfile( aProfile );
+ myEditedObject->SetEquiDistance( aPanel->getEquiDistance() );
+ ///
+ Handle(HYDROData_IAltitudeObject) anObjAltitude = myEditedObject->GetAltitudeObject();
+ Handle(HYDROData_ChannelAltitude) aChannelAlt = Handle(HYDROData_ChannelAltitude)::DownCast(anObjAltitude);
+ if (!aChannelAlt.IsNull())
+ aChannelAlt->SetInvertDirection(aPanel->getInvertDirection());
}
- if ( myEditedObject->IsMustBeUpdated() )
+ if ( myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d ) )
myEditedObject->Update();
erasePreview();
HYDROGUI_Tool::FindObjectByName( module(), aProfileName, KIND_PROFILE ) );
HYDROData_Channel::PrsDefinition aPrsDef;
- if ( !HYDROData_Channel::CreatePresentations( aGuideLine, aProfile, aPrsDef ) )
+ if ( !HYDROData_Channel::CreatePresentations( aGuideLine, aProfile, aPrsDef, aPanel->getEquiDistance() ) )
{
erasePreview();
return;