Currently it's impossible to work with particular objects on the drawing layer after they were added. So one needs to keep the list of all objects in the client part and to rebuild the whole layer from the ground when any change is needed (ClearDrawing/DrawPolygons).
The problem was reported here:
http://mapwingis.codeplex.com/Thread/View.aspx?ThreadId=235894
To improve functionality it's neccessary to add interfaces to access the objects.
IDrawingLayer interface:
int CDrawingLayer::NumShapes();
IDrawingShape CDrawingLayer::get_Shape(int Index);
void CDrawingLayer::Add(IDrawingShape);
bool CDrawingLayer::Remove(int Index)
void CDrawingLayer::Clear();
- more members;
IDrawingShape interface:
tkDrawingShapeType CDrawingShape::ShapeType();
- some properties to access and manage the points.
Remarks:
Perhaps it doesn't make sense to introduce point class, as multiple COM objects will slow down the performance.
It's possible to enhance drawing layers symbology by reusing ShapeDrawingOptions class (it's another issue I guess).
Comments: ** Comment from web user: sleschinski **
The problem was reported here:
http://mapwingis.codeplex.com/Thread/View.aspx?ThreadId=235894
To improve functionality it's neccessary to add interfaces to access the objects.
IDrawingLayer interface:
int CDrawingLayer::NumShapes();
IDrawingShape CDrawingLayer::get_Shape(int Index);
void CDrawingLayer::Add(IDrawingShape);
bool CDrawingLayer::Remove(int Index)
void CDrawingLayer::Clear();
- more members;
IDrawingShape interface:
tkDrawingShapeType CDrawingShape::ShapeType();
- some properties to access and manage the points.
Remarks:
Perhaps it doesn't make sense to introduce point class, as multiple COM objects will slow down the performance.
It's possible to enhance drawing layers symbology by reusing ShapeDrawingOptions class (it's another issue I guess).
Comments: ** Comment from web user: sleschinski **
Reviewing it before 4.9.3 beta release: the issue is still relevant, nothing was done regarding it.