Разбираюсь с 3D, добавляю к скетчу точку так же, как я это делал в 2D (по другому пока не понял).
Добавленная точка не видится, пока полностью не удалить и не вставить слой обратно в TOCControl. Что самое любопытное, если этот слой с точками засунуть в какой-либо групповой слой - точки исчезают (а мне нужно, чтобы он там и лежал). Вынести за пределы группового слоя - пожалуйста, всё видно.
Пробовал обновлять сцену, ничего не обновляется...
Я вот так добавляю точку
Код: Выделить всё
if (feature != null && fLayer != null)
{
string datasetName = (fLayer.FeatureClass as IDataset).Name;
IWorkspace workspace = (fLayer.FeatureClass as IDataset).Workspace;
//установить в качестве целевого слоя и поставить на нём камеру
IEngineEditLayers layerEditor = (IEngineEditLayers)m_engineEditor;
layerEditor.SetTargetLayer(fLayer, fLayer.FeatureClass.FeatureClassID);
IMap map = pScene as IMap;
m_engineEditor.StartEditing(workspace, map);
//Clone the original edit sketch envelope. Used to invalidate the display.
IEngineEditSketch editSketch = (IEngineEditSketch)m_engineEditor;
IEnvelope invalidateEnv = ((IClone)editSketch.Geometry.Envelope).Clone() as IEnvelope;
IEngineSketchOperation sketchOp = new EngineSketchOperationClass();
sketchOp.Start(m_engineEditor);
editSketch.AddPoint(pPoint, true);
sketchOp.Finish(invalidateEnv, esriEngineSketchOperationType.esriEngineSketchOperationVertexAdded, pPoint);
editSketch.FinishSketchPart();
editSketch.RefreshSketch();
m_engineEditor.StopEditing(true);