/**
            @brief: Performs meshing and hole filling if requested. This 
            function can be slow if there is a lot of data to be meshed. For
            Efficiency reason we recommend running this function on a separate
            thread. This call is designed to be thread safe if called in 
            parallel with ProcessImageAsync. 

            @param[in] blockMeshingData: Instance of Pre-allocated 
            PXCBlockMeshingData. Refer 
            PXCScenePerception::CreatePXCBlockMeshingData For how to allocate 
            PXCBlockMeshingData
		
            @param[in] fillHoles: Argument to indicate whether to fill holes in
            mesh blocks

            @param[in] meshingUpdateInfo: Argument to indicate which mesh 
            data you wish to use
               -countOfBlockMeshesRequired: If set, on successful call 
                this function will set number of block meshes available for 
                meshing which can be retrieved using QueryNumberOfBlockMeshes()

               -blockMeshesRequired: Can only be set to true If 
                countOfBlockMeshesRequired is set to true otherwise the value is 
                ignored, If set, on successful call to this function It 
                will update block meshes array in pBlockMeshingUpdateInfo which can
                be retrieved using QueryBlockMeshes()

               -countOfVeticesRequired: If set, on successful call this 
                function, It will set number of Vertices available for meshing 
                which can be retrieved using QueryNumberOfVertices()

               -verticesRequired: Can only be set If 
                countOfVeticesRequired is set to true otherwise the value is ignored, 
                If set, on successful call to this function It will update vertices
                array in pBlockMeshingUpdateInfo which can be retrieved using 
                QueryVertices()

               -countOfFacesRequired: If set, on successful call this 
                function, It will set number of Faces available for meshing which 
                can be retrieved using QueryNumberOfFaces()

               -facesRequired: Can only be set, If countOfFacesRequired 
                is set to true otherwise the value is ignored, If set, on 
                successful call to this function It will update Faces array in 
                pBlockMeshingUpdateInfo which can be retrieved using QueryFaces()
	
                -colorsRequired: If set and PXCMBlockMeshingData was created with color, On 
                 success function will fill in colors array which can be accessed using 
                 QueryVerticesColor()

            @returns: On success PXCM_STATUS_NO_ERROR otherwise error code will 
            be returned
        */
        public pxcmStatus DoMeshingUpdate(PXCMBlockMeshingData pBlockMeshingUpdateInfo)
        {
            return DoMeshingUpdate(pBlockMeshingUpdateInfo, false);
        }
        /**
            @brief: Performs meshing and hole filling if requested. This 
            function can be slow if there is a lot of data to be meshed. For
            Efficiency reason we recommend running this function on a separate
            thread. This call is designed to be thread safe if called in 
            parallel with ProcessImageAsync. 

            @param[in] blockMeshingData: Instance of Pre-allocated 
            PXCBlockMeshingData. Refer 
            PXCScenePerception::CreatePXCBlockMeshingData For how to allocate 
            PXCBlockMeshingData
		
            @param[in] fillHoles: Argument to indicate whether to fill holes in
			mesh blocks. If set, it will fill missing details in each mesh blocks 
			that are visible from Scene Perception's camera current pose and 
			completely surrounded by closed surface(holes) by smooth linear 
			interpolation of adjacent mesh data.

            @param[in] meshingUpdateInfo: Argument to indicate which mesh 
            data you wish to use
               -countOfBlockMeshesRequired: If set, on successful call 
                this function will set number of block meshes available for 
                meshing which can be retrieved using QueryNumberOfBlockMeshes()

               -blockMeshesRequired: Can only be set to true If 
                countOfBlockMeshesRequired is set to true otherwise the value is 
                ignored, If set, on successful call to this function It 
                will update block meshes array in pBlockMeshingUpdateInfo which can
                be retrieved using QueryBlockMeshes()

               -countOfVeticesRequired: If set, on successful call this 
                function, It will set number of Vertices available for meshing 
                which can be retrieved using QueryNumberOfVertices()

               -verticesRequired: Can only be set If 
                countOfVeticesRequired is set to true otherwise the value is ignored, 
                If set, on successful call to this function It will update vertices
                array in pBlockMeshingUpdateInfo which can be retrieved using 
                QueryVertices()

               -countOfFacesRequired: If set, on successful call this 
                function, It will set number of Faces available for meshing which 
                can be retrieved using QueryNumberOfFaces()

               -facesRequired: Can only be set, If countOfFacesRequired 
                is set to true otherwise the value is ignored, If set, on 
                successful call to this function It will update Faces array in 
                pBlockMeshingUpdateInfo which can be retrieved using QueryFaces()
	
                -colorsRequired: If set and PXCMBlockMeshingData was created with color, On 
                 success function will fill in colors array which can be accessed using 
                 QueryVerticesColor()

            +NOTE: Set Meshing Threshold to (0, 0) prior to calling DoMeshingUpdate
            with hole filling enabled to fill mesh regions that are not changed.
         
            @returns: On success PXCM_STATUS_NO_ERROR otherwise error code will 
            be returned
        */
        public pxcmStatus DoMeshingUpdate(PXCMBlockMeshingData pBlockMeshingUpdateInfo, Boolean bFillHoles)
        {
            return PXCMScenePerception_DoMeshingUpdate(instance, pBlockMeshingUpdateInfo.instance, bFillHoles);
        }