From 8fc56bf9ceec52606266b04b027b2d93129c42c6 Mon Sep 17 00:00:00 2001 From: Liam Frit Date: Tue, 9 Jun 2026 14:57:16 +0200 Subject: [PATCH 1/2] ADD ProcessData of ArcBand in GeoView --- src/GeoView-Examples/GeoViewExamples.class.st | 171 +++++++++++++++--- .../AbstractGeoViewGraphicModelLayer.class.st | 56 ++++-- .../DArcBandGeoViewProcessData.class.st | 51 ++++++ 3 files changed, 238 insertions(+), 40 deletions(-) create mode 100644 src/GeoView/DArcBandGeoViewProcessData.class.st diff --git a/src/GeoView-Examples/GeoViewExamples.class.st b/src/GeoView-Examples/GeoViewExamples.class.st index 512e8cc..f5de607 100644 --- a/src/GeoView-Examples/GeoViewExamples.class.st +++ b/src/GeoView-Examples/GeoViewExamples.class.st @@ -1428,61 +1428,182 @@ GeoViewExamples class >> exampleVisibilityDShapesLayer [ ^ self openViewInWindow: element ] +{ #category : #'examples - dshapeslayer' } +GeoViewExamples class >> exampleWithDArcBandLayer [ + + | element layer arcBand arcBand2 | + element := GeoViewElement new. + layer := GeoViewDShapesLayer new name: #shapes. + element addLayer: layer. + + arcBand := (SmockDArcBand key: #arcBand) + coordinates: 200 @ 200; + strokeWidth: 2; + strokeColor: Color yellow; + radiusMin: 100; + radiusMax: 150; + orientation: 0; + aperture: 90; + setDrawModeDevice. + layer addDShape: arcBand. + + arcBand2 := (SmockDArcBand key: #arcBand2) + coordinates: + (element mapProjection projLatLonToCart: + AbsoluteCoordinates zero); + strokeWidth: 2; + strokeColor: Color green; + radiusMin: 1000000; + radiusMax: 1100000; + orientation: 90; + aperture: 150; + setDrawModeUser. + layer addDShape: arcBand2. + + + ^ self openViewInWindow: element +] + { #category : #'examples - dshapeslayer' } GeoViewExamples class >> exampleWithDShapesLayer [ - + | element layer circle1 circle2 segment1 segment2 | element := GeoViewElement new. - layer := GeoViewDShapesLayer new name: #shapes. + layer := GeoViewDShapesLayer new name: #shapes. element addLayer: layer. - + "User circle (considering measures are in cartesian coordinates)" - circle1 := (SmockDCircle key: #circle1) coordinates: (element mapProjection projLatLonToCart: AbsoluteCoordinates zero); radius: 1000000; strokeColor: Color green; strokeWidth: 2. + circle1 := (SmockDCircle key: #circle1) + coordinates: + (element mapProjection projLatLonToCart: + AbsoluteCoordinates zero); + radius: 1000000; + strokeColor: Color green; + strokeWidth: 2. layer addDShape: circle1. "Device circle (considering measures are in screen coordinates)" - circle2 := (SmockDCircle key: #circle2) coordinates: 100@100; radius: 100; strokeColor: Color yellow; strokeWidth: 2; setDrawModeDevice. + circle2 := (SmockDCircle key: #circle2) + coordinates: 100 @ 100; + radius: 100; + strokeColor: Color yellow; + strokeWidth: 2; + setDrawModeDevice. layer addDShape: circle2. "User segment" - segment1 := (SmockDSegment key: #segment1) coordinates: (element mapProjection projLatLonToCart: AbsoluteCoordinates frParis); coordinates2: (element mapProjection projLatLonToCart: AbsoluteCoordinates frBrest); strokeColor: Color green; strokeWidth: 2. + segment1 := (SmockDSegment key: #segment1) + coordinates: + (element mapProjection projLatLonToCart: + AbsoluteCoordinates frParis); + coordinates2: + (element mapProjection projLatLonToCart: + AbsoluteCoordinates frBrest); + strokeColor: Color green; + strokeWidth: 2. layer addDShape: segment1. - + "Device segment" - segment2 := (SmockDSegment key: #segment2) coordinates: 150@150; coordinates2: 250@250; strokeColor: Color yellow; strokeWidth: 2; setDrawModeDevice. + segment2 := (SmockDSegment key: #segment2) + coordinates: 150 @ 150; + coordinates2: 250 @ 250; + strokeColor: Color yellow; + strokeWidth: 2; + setDrawModeDevice. layer addDShape: segment2. + + ^ self openViewInWindow: element +] + +{ #category : #'examples - dshapeslayer' } +GeoViewExamples class >> exampleWithDShapesLayerWithDeviceAndUserArcBand [ + + | element layer arcBand arcBand2 | + element := GeoViewElement new. + layer := GeoViewDShapesLayer new name: #shapes. + element addLayer: layer. + + arcBand := (SmockDArcBand key: #arcBand) + coordinates: 200 @ 200; + strokeWidth: 2; + strokeColor: Color yellow; + radiusMin: 100; + radiusMax: 150; + orientation: 0; + aperture: 90; + setDrawModeDevice. + layer addDShape: arcBand. + + arcBand2 := (SmockDArcBand key: #arcBand2) + coordinates: + (element mapProjection projLatLonToCart: + AbsoluteCoordinates zero); + strokeWidth: 2; + strokeColor: Color green; + radiusMin: 1000000; + radiusMax: 1100000; + orientation: 90; + aperture: 150; + setDrawModeUser. + layer addDShape: arcBand2. + + ^ self openViewInWindow: element ] { #category : #'examples - dshapeslayer' } GeoViewExamples class >> exampleWithDShapesLayerWithDeviceRectanglesResizedOnSizeChanged [ "In this test, use of a DShapes layer to display rectangles in device coordinates. These rectangle are resize when the window size change." - + | element layer rectangle1 rectangle2 rectangle3 | element := GeoViewElement new. - layer := GeoViewDShapesLayer new name: #shapes. + layer := GeoViewDShapesLayer new name: #shapes. element addLayer: layer. - - rectangle1 := (SmockDRectangle key: #rectangle1) setDrawModeDevice; coordinates: 10@10; length1: 100; length2: 100; strokeColor: Color yellow; strokeWidth: 4. + + rectangle1 := (SmockDRectangle key: #rectangle1) + setDrawModeDevice; + coordinates: 10 @ 10; + length1: 100; + length2: 100; + strokeColor: Color yellow; + strokeWidth: 4. layer addDShape: rectangle1. - - rectangle2 := (SmockDRectangle key: #rectangle2) setDrawModeDevice; coordinates: 20@20; length1: 100; length2: 100; strokeColor: Color yellow; strokeWidth: 4. + + rectangle2 := (SmockDRectangle key: #rectangle2) + setDrawModeDevice; + coordinates: 20 @ 20; + length1: 100; + length2: 100; + strokeColor: Color yellow; + strokeWidth: 4. layer addDShape: rectangle2. - element - addEventHandlerOn: BlElementExtentChangedEvent - do: [ :evt | | extent | "update rectangles size" - extent := evt target extent. - - rectangle1 length1: (extent x - 20); length2: (extent y - 20). - rectangle2 length1: (extent x - 40); length2: (extent y - 40). - - layer updateDShapes: { rectangle1 . rectangle2 }. - ]. + element addEventHandlerOn: BlElementExtentChangedEvent do: [ :evt | + | extent | + "update rectangles size" + extent := evt target extent. + + rectangle1 + length1: extent x - 20; + length2: extent y - 20. + rectangle2 + length1: extent x - 40; + length2: extent y - 40. + + layer updateDShapes: { + rectangle1. + rectangle2 } ]. "create a user rectangle : not affected by size changed" - rectangle3 := (SmockDRectangle key: #rectangle3) coordinates: (element mapProjection projLatLonToCart: AbsoluteCoordinates zero); length1: 1000000; length2: 1000000; strokeColor: Color green; strokeWidth: 2. + rectangle3 := (SmockDRectangle key: #rectangle3) + coordinates: + (element mapProjection projLatLonToCart: + AbsoluteCoordinates zero); + length1: 1000000; + length2: 1000000; + strokeColor: Color green; + strokeWidth: 2. layer addDShape: rectangle3. ^ self openViewInWindow: element diff --git a/src/GeoView/AbstractGeoViewGraphicModelLayer.class.st b/src/GeoView/AbstractGeoViewGraphicModelLayer.class.st index 6486cd2..6659a28 100644 --- a/src/GeoView/AbstractGeoViewGraphicModelLayer.class.st +++ b/src/GeoView/AbstractGeoViewGraphicModelLayer.class.st @@ -235,24 +235,50 @@ AbstractGeoViewGraphicModelLayer >> initializeDisplayModel [ AbstractGeoViewGraphicModelLayer >> initializeGraphicModel [ self graphicModel: (GeoViewModel new name: 'Graphic Shape Model'). - + "Initialize a default graphic projection to work locally, will be change when the layer will be added in a geoview" self graphicModel projection: GeoView2DProjection new. - + "Setup all DShape process datas" - self graphicModel setProcessData: DCompositeShapeGeoViewProcessData new forClass: SmockDCompositeShape. - self graphicModel setProcessData: DSymbolGeoViewProcessData new forClass: SmockDSymbol. - self graphicModel setProcessData: DImageGeoViewProcessData new forClass: SmockDImage. - self graphicModel setProcessData: DCircleGeoViewProcessData new forClass: SmockDCircle. - self graphicModel setProcessData: DEllipseGeoViewProcessData new forClass: SmockDEllipse. - self graphicModel setProcessData: DTextGeoViewProcessData new forClass: SmockDText. - self graphicModel setProcessData: DPolygonGeoViewProcessData new forClass: SmockDPolygon. - self graphicModel setProcessData: DPolylineGeoViewProcessData new forClass: SmockDPolyline. - self graphicModel setProcessData: DRectangleGeoViewProcessData new forClass: SmockDRectangle. - self graphicModel setProcessData: DSectorGeoViewProcessData new forClass: SmockDSector. - self graphicModel setProcessData: DSegmentGeoViewProcessData new forClass: SmockDSegment. - self graphicModel setProcessData: DMultiPolylinesGeoViewProcessData new forClass: SmockDMultiPolylines. - + self graphicModel + setProcessData: DCompositeShapeGeoViewProcessData new + forClass: SmockDCompositeShape. + self graphicModel + setProcessData: DSymbolGeoViewProcessData new + forClass: SmockDSymbol. + self graphicModel + setProcessData: DImageGeoViewProcessData new + forClass: SmockDImage. + self graphicModel + setProcessData: DCircleGeoViewProcessData new + forClass: SmockDCircle. + self graphicModel + setProcessData: DEllipseGeoViewProcessData new + forClass: SmockDEllipse. + self graphicModel + setProcessData: DTextGeoViewProcessData new + forClass: SmockDText. + self graphicModel + setProcessData: DPolygonGeoViewProcessData new + forClass: SmockDPolygon. + self graphicModel + setProcessData: DPolylineGeoViewProcessData new + forClass: SmockDPolyline. + self graphicModel + setProcessData: DRectangleGeoViewProcessData new + forClass: SmockDRectangle. + self graphicModel + setProcessData: DSectorGeoViewProcessData new + forClass: SmockDSector. + self graphicModel + setProcessData: DArcBandGeoViewProcessData new + forClass: SmockDArcBand. + self graphicModel + setProcessData: DSegmentGeoViewProcessData new + forClass: SmockDSegment. + self graphicModel + setProcessData: DMultiPolylinesGeoViewProcessData new + forClass: SmockDMultiPolylines ] { #category : #initialization } diff --git a/src/GeoView/DArcBandGeoViewProcessData.class.st b/src/GeoView/DArcBandGeoViewProcessData.class.st new file mode 100644 index 0000000..93ac8d4 --- /dev/null +++ b/src/GeoView/DArcBandGeoViewProcessData.class.st @@ -0,0 +1,51 @@ +Class { + #name : #DArcBandGeoViewProcessData, + #superclass : #DLeafShapeGeoViewProcessData, + #category : #'GeoView-ProcessDatas' +} + +{ #category : #private } +DArcBandGeoViewProcessData >> createGShape2D [ + + ^ SmockGArcBand2D new +] + +{ #category : #processing } +DArcBandGeoViewProcessData >> processUpdatedData: aKey incoming: aDArcBand with: aGArcBand2D context: aContext [ + + | radiusMin radiusMax from to orientation aperture | + super + processUpdatedData: aKey + incoming: aDArcBand + with: aGArcBand2D + context: aContext. + aDArcBand radiusMin ifNil: [ ^ aGArcBand2D ]. + aDArcBand radiusMax ifNil: [ ^ aGArcBand2D ]. + aDArcBand orientation ifNil: [ ^ aGArcBand2D ]. + aDArcBand aperture ifNil: [ ^ aGArcBand2D ]. + + aDArcBand isDrawModeDevice + ifTrue: [ "draw as geometric angle" + radiusMin := aDArcBand radiusMin. + radiusMax := aDArcBand radiusMax. + orientation := aDArcBand orientation. + aperture := aDArcBand aperture ] + ifFalse: [ + aDArcBand isDrawModeUser ifTrue: [ "draw as azimuth angle" + radiusMin := aDArcBand radiusMin + * self processor projection metersByPixel. + radiusMax := aDArcBand radiusMax + * self processor projection metersByPixel. + orientation := aDArcBand orientation asTrigonometricAngle. + aperture := aDArcBand aperture ] ]. + + from := orientation - (aperture / 2). + to := orientation + (aperture / 2). + + aGArcBand2D radiusMin: radiusMin. + aGArcBand2D radiusMax: radiusMax. + aGArcBand2D fromInDegrees: from. + aGArcBand2D toInDegrees: to. + + ^ aGArcBand2D +] From 796dcbf543435bc229247a2e914b86f5b94ccd4a Mon Sep 17 00:00:00 2001 From: Liam Frit Date: Wed, 10 Jun 2026 14:01:01 +0200 Subject: [PATCH 2/2] Fix example and test issues --- src/GeoView-Examples/GeoViewExamples.class.st | 135 ++++-------------- .../DArcBandGeoViewProcessDataTest.class.st | 27 ++++ .../AbstractGeoViewGraphicModelLayer.class.st | 57 +++----- 3 files changed, 68 insertions(+), 151 deletions(-) create mode 100644 src/GeoView-Tests/DArcBandGeoViewProcessDataTest.class.st diff --git a/src/GeoView-Examples/GeoViewExamples.class.st b/src/GeoView-Examples/GeoViewExamples.class.st index f5de607..8288f2b 100644 --- a/src/GeoView-Examples/GeoViewExamples.class.st +++ b/src/GeoView-Examples/GeoViewExamples.class.st @@ -1428,91 +1428,30 @@ GeoViewExamples class >> exampleVisibilityDShapesLayer [ ^ self openViewInWindow: element ] -{ #category : #'examples - dshapeslayer' } -GeoViewExamples class >> exampleWithDArcBandLayer [ - - | element layer arcBand arcBand2 | - element := GeoViewElement new. - layer := GeoViewDShapesLayer new name: #shapes. - element addLayer: layer. - - arcBand := (SmockDArcBand key: #arcBand) - coordinates: 200 @ 200; - strokeWidth: 2; - strokeColor: Color yellow; - radiusMin: 100; - radiusMax: 150; - orientation: 0; - aperture: 90; - setDrawModeDevice. - layer addDShape: arcBand. - - arcBand2 := (SmockDArcBand key: #arcBand2) - coordinates: - (element mapProjection projLatLonToCart: - AbsoluteCoordinates zero); - strokeWidth: 2; - strokeColor: Color green; - radiusMin: 1000000; - radiusMax: 1100000; - orientation: 90; - aperture: 150; - setDrawModeUser. - layer addDShape: arcBand2. - - - ^ self openViewInWindow: element -] - { #category : #'examples - dshapeslayer' } GeoViewExamples class >> exampleWithDShapesLayer [ - + | element layer circle1 circle2 segment1 segment2 | element := GeoViewElement new. - layer := GeoViewDShapesLayer new name: #shapes. + layer := GeoViewDShapesLayer new name: #shapes. element addLayer: layer. - + "User circle (considering measures are in cartesian coordinates)" - circle1 := (SmockDCircle key: #circle1) - coordinates: - (element mapProjection projLatLonToCart: - AbsoluteCoordinates zero); - radius: 1000000; - strokeColor: Color green; - strokeWidth: 2. + circle1 := (SmockDCircle key: #circle1) coordinates: (element mapProjection projLatLonToCart: AbsoluteCoordinates zero); radius: 1000000; strokeColor: Color green; strokeWidth: 2. layer addDShape: circle1. "Device circle (considering measures are in screen coordinates)" - circle2 := (SmockDCircle key: #circle2) - coordinates: 100 @ 100; - radius: 100; - strokeColor: Color yellow; - strokeWidth: 2; - setDrawModeDevice. + circle2 := (SmockDCircle key: #circle2) coordinates: 100@100; radius: 100; strokeColor: Color yellow; strokeWidth: 2; setDrawModeDevice. layer addDShape: circle2. "User segment" - segment1 := (SmockDSegment key: #segment1) - coordinates: - (element mapProjection projLatLonToCart: - AbsoluteCoordinates frParis); - coordinates2: - (element mapProjection projLatLonToCart: - AbsoluteCoordinates frBrest); - strokeColor: Color green; - strokeWidth: 2. + segment1 := (SmockDSegment key: #segment1) coordinates: (element mapProjection projLatLonToCart: AbsoluteCoordinates frParis); coordinates2: (element mapProjection projLatLonToCart: AbsoluteCoordinates frBrest); strokeColor: Color green; strokeWidth: 2. layer addDShape: segment1. - + "Device segment" - segment2 := (SmockDSegment key: #segment2) - coordinates: 150 @ 150; - coordinates2: 250 @ 250; - strokeColor: Color yellow; - strokeWidth: 2; - setDrawModeDevice. + segment2 := (SmockDSegment key: #segment2) coordinates: 150@150; coordinates2: 250@250; strokeColor: Color yellow; strokeWidth: 2; setDrawModeDevice. layer addDShape: segment2. - ^ self openViewInWindow: element ] @@ -1555,55 +1494,31 @@ GeoViewExamples class >> exampleWithDShapesLayerWithDeviceAndUserArcBand [ { #category : #'examples - dshapeslayer' } GeoViewExamples class >> exampleWithDShapesLayerWithDeviceRectanglesResizedOnSizeChanged [ "In this test, use of a DShapes layer to display rectangles in device coordinates. These rectangle are resize when the window size change." - + | element layer rectangle1 rectangle2 rectangle3 | element := GeoViewElement new. - layer := GeoViewDShapesLayer new name: #shapes. + layer := GeoViewDShapesLayer new name: #shapes. element addLayer: layer. - - rectangle1 := (SmockDRectangle key: #rectangle1) - setDrawModeDevice; - coordinates: 10 @ 10; - length1: 100; - length2: 100; - strokeColor: Color yellow; - strokeWidth: 4. + + rectangle1 := (SmockDRectangle key: #rectangle1) setDrawModeDevice; coordinates: 10@10; length1: 100; length2: 100; strokeColor: Color yellow; strokeWidth: 4. layer addDShape: rectangle1. - - rectangle2 := (SmockDRectangle key: #rectangle2) - setDrawModeDevice; - coordinates: 20 @ 20; - length1: 100; - length2: 100; - strokeColor: Color yellow; - strokeWidth: 4. + + rectangle2 := (SmockDRectangle key: #rectangle2) setDrawModeDevice; coordinates: 20@20; length1: 100; length2: 100; strokeColor: Color yellow; strokeWidth: 4. layer addDShape: rectangle2. - element addEventHandlerOn: BlElementExtentChangedEvent do: [ :evt | - | extent | - "update rectangles size" - extent := evt target extent. - - rectangle1 - length1: extent x - 20; - length2: extent y - 20. - rectangle2 - length1: extent x - 40; - length2: extent y - 40. - - layer updateDShapes: { - rectangle1. - rectangle2 } ]. + element + addEventHandlerOn: BlElementExtentChangedEvent + do: [ :evt | | extent | "update rectangles size" + extent := evt target extent. + + rectangle1 length1: (extent x - 20); length2: (extent y - 20). + rectangle2 length1: (extent x - 40); length2: (extent y - 40). + + layer updateDShapes: { rectangle1 . rectangle2 }. + ]. "create a user rectangle : not affected by size changed" - rectangle3 := (SmockDRectangle key: #rectangle3) - coordinates: - (element mapProjection projLatLonToCart: - AbsoluteCoordinates zero); - length1: 1000000; - length2: 1000000; - strokeColor: Color green; - strokeWidth: 2. + rectangle3 := (SmockDRectangle key: #rectangle3) coordinates: (element mapProjection projLatLonToCart: AbsoluteCoordinates zero); length1: 1000000; length2: 1000000; strokeColor: Color green; strokeWidth: 2. layer addDShape: rectangle3. ^ self openViewInWindow: element diff --git a/src/GeoView-Tests/DArcBandGeoViewProcessDataTest.class.st b/src/GeoView-Tests/DArcBandGeoViewProcessDataTest.class.st new file mode 100644 index 0000000..0adc3d7 --- /dev/null +++ b/src/GeoView-Tests/DArcBandGeoViewProcessDataTest.class.st @@ -0,0 +1,27 @@ +Class { + #name : #DArcBandGeoViewProcessDataTest, + #superclass : #DLeafShapeGeoViewProcessDataTest, + #category : #'GeoView-Tests-ProcessDatas' +} + +{ #category : #running } +DArcBandGeoViewProcessDataTest >> createDShapes [ + "Create a list of DShape to execute several tests" + + ^ { + "Empty shape" + SmockDArcBand new . + + "Complete shape" + (SmockDArcBand new aperture: 10; radiusMin: 20; radiusMax: 25; orientation: 45; coordinates: 0@0; fillColor: Color red). + + "Draw mode device (default is user)" + (SmockDArcBand new aperture: 10; radiusMin: 20; radiusMax: 25; orientation: 45; coordinates: 0@0; fillColor: Color red; setDrawModeDevice). + } +] + +{ #category : #running } +DArcBandGeoViewProcessDataTest >> processDataClass [ + + ^ DArcBandGeoViewProcessData +] diff --git a/src/GeoView/AbstractGeoViewGraphicModelLayer.class.st b/src/GeoView/AbstractGeoViewGraphicModelLayer.class.st index 6659a28..792f0b9 100644 --- a/src/GeoView/AbstractGeoViewGraphicModelLayer.class.st +++ b/src/GeoView/AbstractGeoViewGraphicModelLayer.class.st @@ -235,50 +235,25 @@ AbstractGeoViewGraphicModelLayer >> initializeDisplayModel [ AbstractGeoViewGraphicModelLayer >> initializeGraphicModel [ self graphicModel: (GeoViewModel new name: 'Graphic Shape Model'). - + "Initialize a default graphic projection to work locally, will be change when the layer will be added in a geoview" self graphicModel projection: GeoView2DProjection new. - + "Setup all DShape process datas" - self graphicModel - setProcessData: DCompositeShapeGeoViewProcessData new - forClass: SmockDCompositeShape. - self graphicModel - setProcessData: DSymbolGeoViewProcessData new - forClass: SmockDSymbol. - self graphicModel - setProcessData: DImageGeoViewProcessData new - forClass: SmockDImage. - self graphicModel - setProcessData: DCircleGeoViewProcessData new - forClass: SmockDCircle. - self graphicModel - setProcessData: DEllipseGeoViewProcessData new - forClass: SmockDEllipse. - self graphicModel - setProcessData: DTextGeoViewProcessData new - forClass: SmockDText. - self graphicModel - setProcessData: DPolygonGeoViewProcessData new - forClass: SmockDPolygon. - self graphicModel - setProcessData: DPolylineGeoViewProcessData new - forClass: SmockDPolyline. - self graphicModel - setProcessData: DRectangleGeoViewProcessData new - forClass: SmockDRectangle. - self graphicModel - setProcessData: DSectorGeoViewProcessData new - forClass: SmockDSector. - self graphicModel - setProcessData: DArcBandGeoViewProcessData new - forClass: SmockDArcBand. - self graphicModel - setProcessData: DSegmentGeoViewProcessData new - forClass: SmockDSegment. - self graphicModel - setProcessData: DMultiPolylinesGeoViewProcessData new - forClass: SmockDMultiPolylines + self graphicModel setProcessData: DCompositeShapeGeoViewProcessData new forClass: SmockDCompositeShape. + self graphicModel setProcessData: DSymbolGeoViewProcessData new forClass: SmockDSymbol. + self graphicModel setProcessData: DImageGeoViewProcessData new forClass: SmockDImage. + self graphicModel setProcessData: DCircleGeoViewProcessData new forClass: SmockDCircle. + self graphicModel setProcessData: DEllipseGeoViewProcessData new forClass: SmockDEllipse. + self graphicModel setProcessData: DTextGeoViewProcessData new forClass: SmockDText. + self graphicModel setProcessData: DPolygonGeoViewProcessData new forClass: SmockDPolygon. + self graphicModel setProcessData: DPolylineGeoViewProcessData new forClass: SmockDPolyline. + self graphicModel setProcessData: DRectangleGeoViewProcessData new forClass: SmockDRectangle. + self graphicModel setProcessData: DSectorGeoViewProcessData new forClass: SmockDSector. + self graphicModel setProcessData: DSegmentGeoViewProcessData new forClass: SmockDSegment. + self graphicModel setProcessData: DMultiPolylinesGeoViewProcessData new forClass: SmockDMultiPolylines. + self graphicModel setProcessData: DArcBandGeoViewProcessData new forClass: SmockDArcBand. + ] { #category : #initialization }