Exemple #1
0
ContactPairHeader^ ContactPairHeader::ToManaged(const PxContactPairHeader& unmanaged)
{
	ContactPairHeader^ managed = gcnew ContactPairHeader();

	managed->Actors = gcnew array<Actor^>(2);

	managed->Actors[0] = ObjectTable::TryGetObject<Actor^>((intptr_t)unmanaged.actors[0]);
	managed->Actors[1] = ObjectTable::TryGetObject<Actor^>((intptr_t)unmanaged.actors[1]);

	managed->Flags = ToManagedEnum(ContactPairHeaderFlag, unmanaged.flags);

	return managed;
}
ContactPairHeader^ ContactPairHeader::ToManaged(PxContactPairHeader unmanaged)
{
	auto managed = gcnew ContactPairHeader();

	managed->Actor0 = ObjectTable::TryGetObject<RigidActor^>((intptr_t)unmanaged.actors[0]);
	managed->Actor1 = ObjectTable::TryGetObject<RigidActor^>((intptr_t)unmanaged.actors[1]);

	managed->ExtraData = (unmanaged.extraDataStream == NULL) ?
		nullptr :
		Util::AsManagedArray<Byte>(unmanaged.extraDataStream, unmanaged.extraDataStreamSize);

	managed->Flags = ToManagedEnum(ContactPairHeaderFlag, unmanaged.flags);

	return managed;
}