public SurfaceAreaMeasureState(Tool tool, Measure measure, Geometry geometry) : base(tool, measure) { if (measure is SurfaceAreaMeasure) { this.measure = (SurfaceAreaMeasure)measure; } this.geometry = geometry; }
public override Measure GenerateMeasure(Geometry geometry, FormInput formInput) { bool valid = ValidateInput(geometry, formInput); if (!valid) { return(null); } if (!(geometry is ResolvedBody)) { return(null); } else { ResolvedBody resolvedBody = (ResolvedBody)geometry; if (!resolvedBody.isSpinned) { return(null); } GeoCircular[] geoCirculars = geometry.GeoCirculars(); if (geoCirculars.Length != 0) { GeoCircular geoCircular = geoCirculars[0]; Circular circular = geoCircular.Circular(); if (!circular.IsNormalCircular()) { return(null); } } } GeoVertex[] geoVertices = geometry.GeoVertices(); int[] ids = new int[geoVertices.Length]; int index = 0; foreach (GeoVertex vertice in geoVertices) { ids[index++] = vertice.Id; } SurfaceAreaMeasure measure = new SurfaceAreaMeasure(ids); return(measure); }
public override Measure GenerateMeasure(Geometry geometry, FormInput formInput) { bool valid = ValidateInput(geometry, formInput); if (!valid) { return(null); } GeoVertex[] geoVertices = geometry.GeoVertices(); int[] ids = new int[geoVertices.Length]; int index = 0; foreach (GeoVertex vertice in geoVertices) { ids[index++] = vertice.Id; } SurfaceAreaMeasure measure = new SurfaceAreaMeasure(ids); return(measure); }