示例#1
0
        private int TriRayCallback(IntPtr triMeshID, IntPtr rayID, int triangleIndex, dReal u, dReal v)
        {
            var triMesh = (TriMesh)Geom.FromIntPtr(triMeshID);
            var ray     = (Ray)Geom.FromIntPtr(rayID);

            return(rayCallback(triMesh, ray, triangleIndex, u, v) ? 1 : 0);
        }
示例#2
0
        private int TriCallback(IntPtr triMeshID, IntPtr refObjectID, int triangleIndex)
        {
            var triMesh = (TriMesh)Geom.FromIntPtr(triMeshID);
            var geom    = Geom.FromIntPtr(refObjectID);

            return(callback(triMesh, geom, triangleIndex) ? 1 : 0);
        }
示例#3
0
        private void TriArrayCallback(IntPtr triMeshID, IntPtr refObjectID, IntPtr triIndices, int triCount)
        {
            var triMesh         = (TriMesh)Geom.FromIntPtr(triMeshID);
            var geom            = Geom.FromIntPtr(refObjectID);
            var triangleIndices = new int[triCount];

            Marshal.Copy(triIndices, triangleIndices, 0, triCount);
            arrayCallback(triMesh, geom, triangleIndices);
        }
示例#4
0
        private int TriTriMergeCallback(IntPtr triMeshID, int firstTriangleIndex, int secondTriangleIndex)
        {
            var triMesh = (TriMesh)Geom.FromIntPtr(triMeshID);

            return(triangleMergeCallback(triMesh, firstTriangleIndex, secondTriangleIndex));
        }