private DistanceCompositeSceneSymbol CreateCompositeSymbol() { // Create three symbols for displaying a feature according to its distance from the camera. // First, a blue cube symbol for when the camera is near the feature. SimpleMarkerSceneSymbol cubeSym = new SimpleMarkerSceneSymbol(SimpleMarkerSceneSymbolStyle.Cube, System.Drawing.Color.Blue, 125, 125, 125, SceneSymbolAnchorPosition.Center); // 3D (cone) symbol for when the feature is at an intermediate range. SimpleMarkerSceneSymbol coneSym = new SimpleMarkerSceneSymbol(SimpleMarkerSceneSymbolStyle.Cone, System.Drawing.Color.Red, 75, 75, 75, SceneSymbolAnchorPosition.Bottom); // Simple marker symbol (circle) when the feature is far from the camera. SimpleMarkerSymbol markerSym = new SimpleMarkerSymbol(SimpleMarkerSymbolStyle.Circle, System.Drawing.Color.Yellow, 10.0); // Create three new ranges for displaying each symbol. DistanceSymbolRange closeRange = new DistanceSymbolRange(cubeSym, 0, 999); DistanceSymbolRange midRange = new DistanceSymbolRange(coneSym, 1000, 1999); DistanceSymbolRange farRange = new DistanceSymbolRange(markerSym, 2000, 0); // Create a new DistanceCompositeSceneSymbol and add the ranges. DistanceCompositeSceneSymbol compositeSymbol = new DistanceCompositeSceneSymbol(); compositeSymbol.Ranges.Add(closeRange); compositeSymbol.Ranges.Add(midRange); compositeSymbol.Ranges.Add(farRange); // Return the new composite symbol. return(compositeSymbol); }
private async Task <DistanceCompositeSceneSymbol> CreateCompositeSymbol() { // Get the path to the 3D model. string modelPath = GetModelPath(); // Create three symbols for displaying a feature according to its distance from the camera. // First, a 3D model symbol (airplane) for when the camera is near the feature. ModelSceneSymbol plane3DSymbol = await ModelSceneSymbol.CreateAsync(new System.Uri(modelPath), 1.0); // 3D (blue cone) symbol for when the feature is at an intermediate range. SimpleMarkerSceneSymbol coneSym = new SimpleMarkerSceneSymbol(SimpleMarkerSceneSymbolStyle.Cone, System.Drawing.Color.LightSkyBlue, 15, 6, 3, SceneSymbolAnchorPosition.Center) { // The cone will point in the same direction as the plane. Pitch = -90 }; // Simple marker symbol (circle) when the feature is far from the camera. SimpleMarkerSymbol markerSym = new SimpleMarkerSymbol(SimpleMarkerSymbolStyle.Circle, System.Drawing.Color.LightSkyBlue, 10.0); // Create three new ranges for displaying each symbol. DistanceSymbolRange closeRange = new DistanceSymbolRange(plane3DSymbol, 0, 100); DistanceSymbolRange midRange = new DistanceSymbolRange(coneSym, 100, 500); DistanceSymbolRange farRange = new DistanceSymbolRange(markerSym, 500, 0); // Create a new DistanceCompositeSceneSymbol and add the ranges. DistanceCompositeSceneSymbol compositeSymbol = new DistanceCompositeSceneSymbol(); compositeSymbol.Ranges.Add(closeRange); compositeSymbol.Ranges.Add(midRange); compositeSymbol.Ranges.Add(farRange); // Return the new composite symbol. return(compositeSymbol); }