/// <summary>
            ///
            /// </summary>
            /// <param name="display"></param>
            /// <param name="pt"></param>
            /// <param name="heightCutDiff"></param>
            public override void Draw(DrawContext display, Point pt, int heightCutDiff)
            {
                PThreeDimStructure o = owner;

                int zdiff = o.type.Size.z - (this.Location.z - o.baseLocation.z);

                if (heightCutDiff < 0 || zdiff < heightCutDiff)
                {
                    // draw in a normal mode
                    sprite.Draw(display.Surface, pt);
                }
                else
                {
                    // drawing in the height cut mode
                    if (this.Location.z == o.baseLocation.z)
                    {
                        ResourceUtil.EmptyChip.DrawShape(display.Surface, pt, o.heightCutColor);
                    }
                }
            }
            private void setSprite()
            {
                PThreeDimStructure o = owner;

                sprite = o.type.GetSprite(Location - o.baseLocation);
            }
 internal VoxelImpl(PThreeDimStructure _owner, WorldLocator wloc)
     : base(_owner, wloc)
 {
     setSprite();
 }