示例#1
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public TRexTileRequest(
     Guid projectUid,
     DisplayMode mode,
     List <ColorPalette> palettes,
     DesignDescriptor designDescriptor,
     FilterResult filter1,
     FilterResult filter2,
     BoundingBox2DLatLon boundingBoxLatLon,
     BoundingBox2DGrid boundingBoxGrid,
     ushort width,
     ushort height,
     OverridingTargets overrides,
     LiftSettings liftSettings,
     VolumesType volumeType)
 {
     ProjectUid       = projectUid;
     Mode             = mode;
     Palettes         = palettes;
     DesignDescriptor = designDescriptor;
     Filter1          = filter1;
     Filter2          = filter2;
     BoundBoxLatLon   = boundingBoxLatLon;
     BoundBoxGrid     = boundingBoxGrid;
     Width            = width;
     Height           = height;
     Overrides        = overrides;
     LiftSettings     = liftSettings;
     VolumeType       = volumeType;
 }
示例#2
0
        /// <summary>
        /// Validates all properties.
        /// </summary>
        public void Validate()
        {
            Overrides?.Validate();
            LiftSettings?.Validate();
            DesignDescriptor?.Validate();

            if (BoundBoxLatLon == null && BoundBoxGrid == null)
            {
                throw new ServiceException(HttpStatusCode.BadRequest,
                                           new ContractExecutionResult(ContractExecutionStatesEnum.ValidationError,
                                                                       "Bounding box required either in lat/lng or grid coordinates"));
            }

            if (BoundBoxLatLon != null && BoundBoxGrid != null)
            {
                throw new ServiceException(HttpStatusCode.BadRequest,
                                           new ContractExecutionResult(ContractExecutionStatesEnum.ValidationError,
                                                                       "Only one bounding box is allowed"));
            }

            if (Mode == DisplayMode.TargetSpeedSummary && Overrides?.MachineSpeedTarget == null)
            {
                throw new ServiceException(HttpStatusCode.BadRequest,
                                           new ContractExecutionResult(ContractExecutionStatesEnum.ValidationError,
                                                                       "For this mode SpeedSummary Target in Overrides must be specified."));
            }
        }
示例#3
0
 public CellPassesTRexRequest(
     Guid projectUid,
     Point gridPoint,
     FilterResult filter,
     OverridingTargets overrides,
     LiftSettings liftSettings)
     : this(projectUid, filter, overrides, liftSettings)
 {
     GridPoint     = gridPoint;
     CoordsAreGrid = true;
 }
示例#4
0
 public CellPassesTRexRequest(
     Guid projectUid,
     WGSPoint llPoint,
     FilterResult filter,
     OverridingTargets overrides,
     LiftSettings liftSettings)
     : this(projectUid, filter, overrides, liftSettings)
 {
     LLPoint       = llPoint;
     CoordsAreGrid = false;
 }
示例#5
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public ElevationDataRequest(
     Guid projectUid,
     FilterResult filter,
     OverridingTargets overrides,
     LiftSettings liftSettings)
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     Overrides    = overrides;
     LiftSettings = liftSettings;
 }
示例#6
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public TemperatureSummaryRequest(
     Guid projectUid,
     FilterResult filter,
     TemperatureSettings temperatureSettings,
     LiftSettings liftSettings)
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     Overrides    = new OverridingTargets(temperatureSettings: temperatureSettings);
     LiftSettings = liftSettings;
 }
示例#7
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public CompactionSurfaceExportRequest(
     Guid projectUid,
     FilterResult filter,
     string fileName,
     double tolerance,
     OverridingTargets overrides,
     LiftSettings liftSettings
     ) : base(projectUid, filter, fileName, overrides, liftSettings)
 {
     Tolerance = tolerance;
 }
示例#8
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public CCASummaryRequest(
     Guid projectUid,
     FilterResult filter,
     OverridingTargets overrides,
     LiftSettings liftSettings
     )
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     Overrides    = overrides;
     LiftSettings = liftSettings;
 }
示例#9
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public PassCountSummaryRequest(
     Guid projectUid,
     FilterResult filter,
     TargetPassCountRange overridingTargetPassCountRange,
     LiftSettings liftSettings
     )
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     Overrides    = new OverridingTargets(overridingTargetPassCountRange: overridingTargetPassCountRange);
     LiftSettings = liftSettings;
 }
示例#10
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public SpeedSummaryRequest(
     Guid projectUid,
     FilterResult filter,
     MachineSpeedTarget machineSpeedTarget,
     LiftSettings liftSettings
     )
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     Overrides    = new OverridingTargets(machineSpeedTarget: machineSpeedTarget);
     LiftSettings = liftSettings;
 }
示例#11
0
 private CellPassesTRexRequest(
     Guid projectUid,
     FilterResult filter,
     OverridingTargets overrides,
     LiftSettings liftSettings)
 {
     ProjectUid    = projectUid;
     Filter        = filter;
     CoordsAreGrid = false;
     Overrides     = overrides;
     LiftSettings  = liftSettings;
 }
示例#12
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public PassCountDetailsRequest(
     Guid projectUid,
     FilterResult filter,
     int[] passCounts,
     OverridingTargets overrides,
     LiftSettings liftSettings
     )
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     PassCounts   = passCounts;
     Overrides    = overrides;
     LiftSettings = liftSettings;
 }
示例#13
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public TemperatureDetailRequest(
     Guid projectUid,
     FilterResult filter,
     int[] temperatureList,
     OverridingTargets overrides,
     LiftSettings liftSettings
     )
 {
     ProjectUid      = projectUid;
     Filter          = filter;
     TemperatureList = temperatureList;
     Overrides       = overrides;
     LiftSettings    = liftSettings;
 }
示例#14
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public CMVChangeDetailsRequest(
     Guid projectUid,
     FilterResult filter,
     double[] cmvChangeDetailsValues,
     OverridingTargets overrides,
     LiftSettings liftSettings
     )
 {
     ProjectUid             = projectUid;
     Filter                 = filter;
     CMVChangeDetailsValues = cmvChangeDetailsValues;
     Overrides              = overrides;
     LiftSettings           = liftSettings;
 }
示例#15
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public CMVDetailsRequest(
     Guid projectUid,
     FilterResult filter,
     int[] customCMVDetailTargets,
     OverridingTargets overrides,
     LiftSettings liftSettings
     )
 {
     ProjectUid             = projectUid;
     Filter                 = filter;
     CustomCMVDetailTargets = customCMVDetailTargets;
     Overrides              = overrides;
     LiftSettings           = liftSettings;
 }
示例#16
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public CompactionExportRequest(
     Guid projectUid,
     FilterResult filter,
     string fileName,
     OverridingTargets overrides,
     LiftSettings liftSettings
     )
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     FileName     = fileName;
     Overrides    = overrides;
     LiftSettings = liftSettings;
 }
示例#17
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public TRexCutFillDetailsRequest(
     Guid projectUid,
     double[] tolerances,
     FilterResult filter,
     DesignDescriptor designDescriptor,
     OverridingTargets overrides,
     LiftSettings liftSettings)
 {
     ProjectUid        = projectUid;
     CutFillTolerances = tolerances;
     Filter            = filter;
     DesignDescriptor  = designDescriptor;
     Overrides         = overrides;
     LiftSettings      = liftSettings;
 }
示例#18
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public CMVSummaryRequest(
     Guid projectUid,
     FilterResult filter,
     short cmvTarget,
     bool overrideTargetCMV,
     double maxCMVPercent,
     double minCMVPercent,
     LiftSettings liftSettings
     )
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     Overrides    = new OverridingTargets(cmvTarget: cmvTarget, overrideTargetCMV: overrideTargetCMV, maxCMVPercent: maxCMVPercent, minCMVPercent: minCMVPercent);
     LiftSettings = liftSettings;
 }
示例#19
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public MDPSummaryRequest(
     Guid projectUid,
     FilterResult filter,
     short mdpTarget,
     bool overrideTargetMDP,
     double maxMDPPercent,
     double minMDPPercent,
     LiftSettings liftSettings
     )
 {
     ProjectUid   = projectUid;
     Filter       = filter;
     Overrides    = new OverridingTargets(mdpTarget: mdpTarget, overrideTargetMDP: overrideTargetMDP, maxMDPPercent: maxMDPPercent, minMDPPercent: minMDPPercent);
     LiftSettings = liftSettings;
 }
示例#20
0
 public CompactionVetaExportRequest(
     Guid projectUid,
     FilterResult filter,
     string fileName,
     CoordType coordType,
     OutputTypes coordinateOutputType,
     UserPreferences userPreferences,
     string[] machineNames,
     OverridingTargets overrides,
     LiftSettings liftSettings
     ) : base(projectUid, filter, fileName, overrides, liftSettings)
 {
     CoordType       = coordType;
     OutputType      = coordinateOutputType;
     UserPreferences = userPreferences;
     MachineNames    = machineNames;
 }
示例#21
0
 public CompactionPassCountExportRequest(
     Guid projectUid,
     FilterResult filter,
     string fileName,
     CoordType coordType,
     OutputTypes outputType,
     UserPreferences userPreferences,
     bool restrictOutputSize,
     bool rawDataAsDBase,
     OverridingTargets overrides,
     LiftSettings liftSettings
     ) : base(projectUid, filter, fileName, overrides, liftSettings)
 {
     CoordType          = coordType;
     OutputType         = outputType;
     UserPreferences    = userPreferences;
     RestrictOutputSize = restrictOutputSize;
     RawDataAsDBase     = rawDataAsDBase;
 }
示例#22
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public PatchDataRequest(
     Guid projectUid,
     FilterResult filter1,
     FilterResult filter2,
     DisplayMode mode,
     int patchNumber,
     int patchSize,
     OverridingTargets overrides,
     LiftSettings liftSettings
     )
 {
     ProjectUid   = projectUid;
     Filter       = filter1;
     Filter2      = filter2;
     Mode         = mode;
     PatchNumber  = patchNumber;
     PatchSize    = patchSize;
     Overrides    = overrides;
     LiftSettings = liftSettings;
 }
示例#23
0
 /// <summary>
 /// Overload constructor with parameters.
 /// </summary>
 public CellDatumTRexRequest(
     Guid projectUid,
     DisplayMode displayMode,
     WGSPoint llPoint,
     Point gridPoint,
     FilterResult filter,
     Guid?designUid,
     double?offset,
     OverridingTargets overrides,
     LiftSettings liftSettings)
 {
     ProjectUid   = projectUid;
     DisplayMode  = displayMode;
     LLPoint      = llPoint;
     GridPoint    = gridPoint;
     Filter       = filter;
     DesignUid    = designUid;
     Offset       = offset;
     Overrides    = overrides;
     LiftSettings = liftSettings;
 }