internal void GenerateSegmentAsync(SegmentGenerationRequest request, MeshReconstructionServer.SegmentReadyDelegate onSegmentReady)
 {
     if (onSegmentReady == null)
     {
         throw new ArgumentNullException("onSegmentRead");
     }
     MeshReconstructionServer.Internal_GenerateSegmentAsync(this.m_ServerPtr, request.gridIndex, request.destinationMeshFilter, request.destinationMeshCollider, onSegmentReady, request.provideNormals, request.provideColors, request.providePhysics);
 }
 private static void InvokeSegmentReadyEvent(MeshReconstructionServer.SegmentReadyDelegate onSegmentReady, GridIndex gridIndex, MeshFilter meshFilter, MeshCollider meshCollider, bool success, double elapsedTimeSeconds)
 {
     if (onSegmentReady != null)
     {
         SegmentGenerationResult generatedSegmentData = new SegmentGenerationResult
         {
             gridIndex          = gridIndex,
             meshFilter         = meshFilter,
             meshCollider       = meshCollider,
             success            = success,
             elapsedTimeSeconds = elapsedTimeSeconds
         };
         onSegmentReady(generatedSegmentData);
     }
 }
 private static void Internal_GenerateSegmentAsync(IntPtr serverPtr, GridIndex gridIndex, MeshFilter destinationMeshFilter, MeshCollider destinationMeshCollider, MeshReconstructionServer.SegmentReadyDelegate onSegmentReady, bool provideNormals, bool provideColors, bool providePhysics)
 {
     MeshReconstructionServer.Internal_GenerateSegmentAsync_Injected(serverPtr, ref gridIndex, destinationMeshFilter, destinationMeshCollider, onSegmentReady, provideNormals, provideColors, providePhysics);
 }