#include <HYDROData_IPolyline.h>
#include <HYDROData_Profile.h>
#include <HYDROData_PolylineXY.h>
+#include <HYDROData_Iterator.h>
+#include <AIS_InteractiveContext.hxx>
#include <TestViewer.h>
#include <QApplication>
+#include <QTest>
+extern QString REF_DATA_PATH;
NCollection_Sequence<HYDROData_IPolyline::Point> points2;
const double EPS = 1E-3;
Handle(HYDROData_Stream)::DownCast( aDoc->CreateObject( KIND_STREAM ) );
CPPUNIT_ASSERT_EQUAL( false, (bool)aStream.IsNull() );
+ CPPUNIT_ASSERT_EQUAL( true, (bool)aStream->GetAltitudeObject().IsNull() );
+ CPPUNIT_ASSERT_EQUAL( false, (bool)aStream->DTM().IsNull() );
CPPUNIT_ASSERT_EQUAL( false, (bool)aStream->GetAltitudeObject().IsNull() );
CPPUNIT_ASSERT_EQUAL( KIND_DTM, aStream->getAltitudeObjectType() );
Handle(HYDROData_Stream) aStream =
Handle(HYDROData_Stream)::DownCast( aDoc->CreateObject( KIND_STREAM ) );
Handle(HYDROData_DTM) aDTM =
- Handle(HYDROData_DTM)::DownCast( aStream->GetAltitudeObject() );
+ Handle(HYDROData_DTM)::DownCast( aStream->DTM() );
CPPUNIT_ASSERT_EQUAL( false, (bool)aDTM.IsNull() );
Handle(HYDROData_Profile) aProfile1 =
aDoc->Close();
}
+
+void test_HYDROData_Stream::test_presentation()
+{
+ Handle(HYDROData_Document) aDoc = HYDROData_Document::Document(1);
+
+ TCollection_AsciiString fname = REF_DATA_PATH.toLatin1().data();
+ fname += "/Profiles.xyz";
+ NCollection_Sequence<int> bad_ids;
+
+ int aSize = HYDROData_Profile::ImportFromFile( aDoc, fname, bad_ids, true );
+
+ CPPUNIT_ASSERT_EQUAL( 0, bad_ids.Size() );
+ CPPUNIT_ASSERT_EQUAL( 46, aSize );
+
+ HYDROData_SequenceOfObjects profiles;
+ HYDROData_Iterator it( aDoc, KIND_PROFILE );
+ for( int i=0; it.More(); it.Next(), i++ )
+ {
+ if( i>=25 && i<=35 )
+ {
+ it.Current()->Update();
+ profiles.Append( Handle(HYDROData_Profile)::DownCast( it.Current() ) );
+ }
+ }
+
+ Handle(HYDROData_Stream) aStream =
+ Handle(HYDROData_Stream)::DownCast( aDoc->CreateObject( KIND_STREAM ) );
+
+ aStream->SetProfiles( profiles, false );
+ aStream->SetDDZ( 0.2 );
+ aStream->SetSpatialStep( 10 );
+ aStream->Update();
+
+ TopoDS_Shape aPrs3d = aStream->GetShape3D();
+ TopoDS_Shape aPrs2d = aStream->GetTopShape();
+
+ TestViewer::show( aPrs2d, 0, true, "stream_dtm_2d" );
+ CPPUNIT_ASSERT_IMAGES;
+
+ TestViewer::eraseAll( true );
+ TestViewer::show( aPrs3d, 0, true, "stream_dtm_3d" );
+ CPPUNIT_ASSERT_IMAGES
+
+ aDoc->Close();
+}
+