NewtonSerialize

From Newton Wiki
Jump to: navigation, search

NewtonSerialize

typedef void (*NewtonSerialize) (void* serializeHandle, const void* buffer, int size);

Usage

This is the data writing routine, when NewtonCollisionSerialize serializes a collision shape to binary data.

Parameters

  • void* serializeHandle - Stream handle specified in NewtonCollisionSerialize function call.
  • const void* buffer - Memory to append to data
  • int size - Number of bytes to append to data

Remarks

  • This is not a library function, but a callback event.

Examples

C++

void _cdecl SerializeCollision(void* serializeHandle, void* buffer, size_t size)
{
    fwrite( buffer, size, 1, (FILE*)serializeHandle );
}

C#/XNA

public void SerializeCollisionTree(IntPtr pSerializeHandle, IntPtr pBuffer, uint pSize)
{
    byte[] dst = new byte[pSize];
    Marshal.Copy(pBuffer,dst, 0, (int) pSize);
    writer.Write(dst);
}

Delphi

procedure cachewrite(serializeHandle: Pointer; const buffer: Pointer; size: integer); cdecl;
begin
  Tfile(serializeHandle).Write(buffer^, size);
end;

See also

NewtonCollisionSerialize NewtonCreateCollisionFromSerialization