public static AbstractFaceSlopeAndDia CreateFaceSlopeAndDia(Face face) { FaceData data = FaceUtils.AskFaceData(face); AbstractFaceSlopeAndDia faceSd = null; switch (face.SolidFaceType) { case Face.FaceType.Planar: faceSd = new PlaneFaceSlopeAndDia(data); break; case Face.FaceType.Cylindrical: faceSd = new CylinderFaceSlopeAndDia(data); break; case Face.FaceType.Conical: faceSd = new CircularConeFaceSlopeAndDia(data); break; default: faceSd = new SweptFaceFaceSlopeAndDia(data); break; } return(faceSd); }
public AnalysisFaceSlopeAndDia(Face face, Vector3d vec) { this.Face = face; this.vec = vec; double[] dia = new double[2]; double[] slope = new double[2]; AbstractFaceSlopeAndDia absface = FaceSlopeAndDiaFactory.CreateFaceSlopeAndDia(face); this.Data = absface.Data; absface.GetSlopeAndDia(vec, out slope, out dia); this.MaxSlope = slope[1]; this.MinSlope = slope[0]; this.MinDia = dia[0]; this.MaxDia = dia[1]; }