public SurfaceAreaMeasureState(Tool tool, Measure measure, Geometry geometry) : base(tool, measure)
    {
        if (measure is SurfaceAreaMeasure)
        {
            this.measure = (SurfaceAreaMeasure)measure;
        }

        this.geometry = geometry;
    }
Exemple #2
0
    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);
    }