예제 #1
0
        /// <summary>
        /// Process Quantized Mesh tile request from WebAPI controller
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="item">QMTileRequest</param>
        /// <returns>Zipped Quantized Mesh Tile</returns>
        protected override async Task <ContractExecutionResult> ProcessAsyncEx <T>(T item)
        {
            var request = item as QMTileRequest;

            if (request == null)
            {
                ThrowRequestTypeCastException <QMTileRequest>();
            }

            var siteModel = GetSiteModel(request.ProjectUid);
            var filter    = ConvertFilter(request.Filter, siteModel);
            var qmRequest = new QuantizedMeshRequest();

            var response = await qmRequest.ExecuteAsync(new QuantizedMeshRequestArgument
            {
                ProjectID   = siteModel.ID,
                Filters     = new FilterSet(filter),
                DisplayMode = request.DisplayMode,
                HasLighting = request.HasLighting,
                X           = request.X,
                Y           = request.Y,
                Z           = request.Z
            });

            return(new QMTileResult(response.data));
        }
예제 #2
0
        public void Test_QuantizedMeshRequest_Creation()
        {
            var request = new QuantizedMeshRequest();

            request.Should().NotBeNull();
        }