コード例 #1
0
 public SectionToVolumeMapping(Section section, string name,  FixedTileCountMapping sourceMapping, TriangulationTransform volumeTransform)
     : base(section, name, sourceMapping.TilePrefix, sourceMapping.TilePostfix)
 {
     HasBeenWarped = false;
     SourceMapping = sourceMapping;
     VolumeTransform = volumeTransform;
 }
コード例 #2
0
        public TileGridToVolumeMapping(Section section, string name, TileGridMapping ToWarp, TriangulationTransform Transform)
            : base(ToWarp, section, name)
        {
            this.VolumeTransform = Transform;

            /*
            //Create a single grid transform for all tiles
            GridToVolumeTransform = new GridTransform();

            GridInfo gridInfo = LevelToGridInfo[this.MinDownsample];

            MappingGridVector2[] mappingPoints = new MappingGridVector2[(gridInfo.GridYDim+1) * (gridInfo.GridXDim+1)];
            int[] TriangleIndicies = new int[gridInfo.GridYDim * gridInfo.GridXDim * 6];

            int iPoint = 0;
            int iTriangle = 0;
            for(int iX = 0; iX <= gridInfo.GridXDim; iX++)
            {
                for(int iY = 0; iY <= gridInfo.GridYDim; iY++, iPoint++)
                {
                    GridVector2 controlPoint = new GridVector2(iX * this.TileSizeX,
                                                               iY * this.TileSizeY);
                    GridVector2 mappedPoint = controlPoint; //This will get warped later when we add to volume transform
                    MappingGridVector2 PointPair = new MappingGridVector2(controlPoint, mappedPoint);

                    mappingPoints[iPoint] = PointPair;

                    if(iY < gridInfo.GridYDim &&
                       iX < gridInfo.GridXDim)
                    {
                        TriangleIndicies[iTriangle++] = iPoint;
                        TriangleIndicies[iTriangle++] = iPoint + 1;
                        TriangleIndicies[iTriangle++] = iPoint + gridInfo.GridYDim + 1;

                        TriangleIndicies[iTriangle++] = iPoint + 1;
                        TriangleIndicies[iTriangle++] = iPoint + gridInfo.GridYDim + 1;
                        TriangleIndicies[iTriangle++] = iPoint + gridInfo.GridYDim + 2;
                    }
                }
            }

            //Todo: If we add the mapping points from the volume transform here they can be included in the output verticies

            GridToVolumeTransform.SetPointsAndTriangles(mappingPoints, TriangleIndicies);

            //            GridToVolumeTransform.Add(VolumeTransform);
             */
        }
コード例 #3
0
 public TileServerToVolumeMapping(Section section, string name, TileServerMapping ToWarp, TriangulationTransform Transform)
     : base(ToWarp, section, name)
 {
     this.VolumeTransform = Transform;
 }
コード例 #4
0
 public AddTransformThreadObj(int[] iMapPoints, TriangulationTransform warpingT, TriangulationTransform fixedT)
 {
     this.iPoints = iMapPoints;
     this.warpingTransform = warpingT;
     this.fixedTransform = fixedT;
 }
コード例 #5
0
 public TriangulationViewModel(TriangulationTransform Mapping)
 {
     this.MapPoints = Mapping.MapPoints;
     this.TriangleIndicies = Mapping.TriangleIndicies;
 }