ITerrainSurfaceExtractMajorContours(SurfaceExtractionSettingsType) Method

Extracts the surface major contour information from the terrain surface.

Namespace: Autodesk.Civil.DatabaseServices
Assembly: AeccDbMgd (in AeccDbMgd.dll) Version: 13.8.0.292
Syntax
ObjectIdCollection ExtractMajorContours(
	SurfaceExtractionSettingsType settingsType
)

Parameters

settingsType  SurfaceExtractionSettingsType
Specify SurfaceExtractionSettingsType.Plan to extract the contour information using the plan visual style settings, or SurfaceExtractionSettingsType.Model to use the model settings.

Return Value

ObjectIdCollection
An ObjectIdCollection of the extracted entities. The extracted entities are Polyline objects. If the surface has no contour information, this method returns an empty ObjectIdCollection.
Example
 1// Setup: creates a new, random surface.                    
 2// 
 3TinSurface surface = CreateRandomSurface("Example Surface");
 4
 5// Surface must have a style that shows major contours.
 6// 
 7surface.StyleId = _civildoc.Styles.SurfaceStyles["Contours and Triangles"];
 8
 9// Extract major contours and print information about them:
10// 
11ObjectIdCollection majorContours;
12majorContours = surface.ExtractMajorContours(SurfaceExtractionSettingsType.Plan);
13write("# of extracted contours: " + majorContours.Count + "\n");
14int totalVertices = 0;
15for (int i = 0; i < majorContours.Count; i++)
16{
17    ObjectId contourId = majorContours[i];
18    // Contours are lightweight Polyline objects:
19    // 
20    Polyline contour = contourId.GetObject(OpenMode.ForRead) as Polyline;
21    write(String.Format("Contour #{0} length:{1}, # of vertices:{2}\n",
22        i, contour.Length, contour.NumberOfVertices));
23    totalVertices += contour.NumberOfVertices;
24}
25
26// Extract major contours with smoothing:
27// 
28majorContours = surface.ExtractMajorContours(SurfaceExtractionSettingsType.Plan,
29    ContourSmoothingType.AddVertices, 10);
30int totalVerticesSmoothed = 0;
31foreach (ObjectId contourId in majorContours)
32{
33    Polyline contour = contourId.GetObject(OpenMode.ForRead) as Polyline;
34    totalVerticesSmoothed += contour.NumberOfVertices;
35}
36
37// Compare smoothing by adding vertices:
38write(String.Format("Effects of smoothing:\n  total vertices no smoothing: {0}\n  total vertices with smoothing: {1}\n",
39    totalVertices, totalVerticesSmoothed));
See Also