public override List<StationOffsetElevation> getStationOffsetElevation(ptsPoint interestPoint) { ptsVector arcCenterToInterestPtVector = new ptsVector(this.ArcCenterPt, interestPoint); Deflection deflToInterestPt = new Deflection(this.BeginRadiusVector.Azimuth, arcCenterToInterestPtVector.Azimuth, true); int arcDeflDirection = Math.Sign(this.Deflection.getAsDegreesDouble()); if (arcDeflDirection * deflToInterestPt.getAsDegreesDouble() < 0.0) { return null; } else if (Math.Abs(this.Deflection.getAsDegreesDouble()) - Math.Abs(deflToInterestPt.getAsDegreesDouble()) < 0.0) { return null; } Double interestLength = this.Length * deflToInterestPt.getAsRadians() / this.Deflection.getAsRadians(); Offset offset = new Offset(arcDeflDirection * (this.Radius - arcCenterToInterestPtVector.Length)); var soe = new StationOffsetElevation(this.BeginStation + interestLength, offset, 0.0); var returnList = new List<StationOffsetElevation>(); returnList.Add(soe); return returnList; }
//private StationOffsetElevation soePoint; public StationOffsetElevation() { offset = new Offset(0.0); elevation = new Elevation(0.0); }
public StationOffsetElevation(double aStation, Offset anOffset, Elevation anElevation) { station = aStation; offset = anOffset; elevation = anElevation; }
public Offset(Offset other) { OFST = other.OFST; }