+%TypeCode
+
+ HYDROData_Entity* copyObject( HYDROData_Entity* theObject )
+ {
+ HYDROData_Entity* aRes = NULL;
+ if ( theObject == NULL )
+ return aRes;
+
+ switch( theObject->GetKind() )
+ {
+ case KIND_IMAGE:
+ {
+ aRes = new HYDROData_Image( *dynamic_cast<HYDROData_Image*>( theObject ) );
+ break;
+ }
+ case KIND_POLYLINE:
+ {
+ aRes = new HYDROData_Polyline3D( *dynamic_cast<HYDROData_Polyline3D*>( theObject ) );
+ break;
+ }
+ case KIND_BATHYMETRY:
+ {
+ aRes = new HYDROData_Bathymetry( *dynamic_cast<HYDROData_Bathymetry*>( theObject ) );
+ break;
+ }
+ case KIND_ALTITUDE:
+ {
+ aRes = new HYDROData_AltitudeObject( *dynamic_cast<HYDROData_AltitudeObject*>( theObject ) );
+ break;
+ }
+ case KIND_IMMERSIBLE_ZONE:
+ {
+ aRes = new HYDROData_ImmersibleZone( *dynamic_cast<HYDROData_ImmersibleZone*>( theObject ) );
+ break;
+ }
+ case KIND_RIVER:
+ {
+ aRes = new HYDROData_River( *dynamic_cast<HYDROData_River*>( theObject ) );
+ break;
+ }
+ case KIND_STREAM:
+ {
+ aRes = new HYDROData_Stream( *dynamic_cast<HYDROData_Stream*>( theObject ) );
+ break;
+ }
+ case KIND_CONFLUENCE:
+ {
+ aRes = new HYDROData_Confluence( *dynamic_cast<HYDROData_Confluence*>( theObject ) );
+ break;
+ }
+ case KIND_CHANNEL:
+ {
+ aRes = new HYDROData_Channel( *dynamic_cast<HYDROData_Channel*>( theObject ) );
+ break;
+ }
+ case KIND_OBSTACLE:
+ {
+ aRes = new HYDROData_Obstacle( *dynamic_cast<HYDROData_Obstacle*>( theObject ) );
+ break;
+ }
+ case KIND_DIGUE:
+ {
+ aRes = new HYDROData_Digue( *dynamic_cast<HYDROData_Digue*>( theObject ) );
+ break;
+ }
+ case KIND_PROFILE:
+ {
+ aRes = new HYDROData_Profile( *dynamic_cast<HYDROData_Profile*>( theObject ) );
+ break;
+ }
+ case KIND_PROFILEUZ:
+ {
+ aRes = new HYDROData_ProfileUZ( *dynamic_cast<HYDROData_ProfileUZ*>( theObject ) );
+ break;
+ }
+ case KIND_POLYLINEXY:
+ {
+ aRes = new HYDROData_PolylineXY( *dynamic_cast<HYDROData_PolylineXY*>( theObject ) );
+ break;
+ }
+ case KIND_CALCULATION:
+ {
+ aRes = new HYDROData_CalculationCase( *dynamic_cast<HYDROData_CalculationCase*>( theObject ) );
+ break;
+ }
+ case KIND_REGION:
+ {
+ aRes = new HYDROData_Region( *dynamic_cast<HYDROData_Region*>( theObject ) );
+ break;
+ }
+ case KIND_ZONE:
+ {
+ aRes = new HYDROData_Zone( *dynamic_cast<HYDROData_Zone*>( theObject ) );
+ break;
+ }
+ case KIND_SHAPES_GROUP:
+ {
+ aRes = new HYDROData_ShapesGroup( *dynamic_cast<HYDROData_ShapesGroup*>( theObject ) );
+ break;
+ }
+ case KIND_SPLITTED_GROUP:
+ {
+ aRes = new HYDROData_SplittedShapesGroup( *dynamic_cast<HYDROData_SplittedShapesGroup*>( theObject ) );
+ break;
+ }
+ case KIND_OBSTACLE_ALTITUDE:
+ {
+ aRes = new HYDROData_ObstacleAltitude( *dynamic_cast<HYDROData_ObstacleAltitude*>( theObject ) );
+ break;
+ }
+ case KIND_STREAM_ALTITUDE:
+ {
+ aRes = new HYDROData_StreamAltitude( *dynamic_cast<HYDROData_StreamAltitude*>( theObject ) );
+ break;
+ }
+ }
+
+ return aRes;
+ }
+
+ Handle(HYDROData_Entity) createHandle( HYDROData_Entity* theObject )
+ {
+ Handle(HYDROData_Entity) aRes = copyObject( theObject );
+ return aRes;
+ }
+
+ HYDROData_Entity* createPointer( const Handle(HYDROData_Entity)& theObject )
+ {
+ HYDROData_Entity* aRes = NULL;
+
+ if ( !theObject.IsNull() )
+ aRes = copyObject( theObject.operator->() );
+
+ return aRes;
+ }
+
+%End
+