struct IPhysicsStreamer { };
physinterface.h
this is a callback interface for on-demand physicalization, physics gets a pointer to an implementation
virtual ~IPhysicsStreamer();
virtual int CreatePhysicalEntitiesInBox(const Vec3 & boxMin, const Vec3 & boxMax) = 0;
called when on-demand entities in a box need to be physicalized (the grid is activated once RegisterBBoxInPODGrid is called)
virtual int CreatePhysicalEntity(void * pForeignData, int iForeignData, int iForeignFlags) = 0;
called whenever a placeholder (created through CreatePhysicalPlaceholder) requests a full entity
virtual int DestroyPhysicalEntitiesInBox(const Vec3 & boxMin, const Vec3 & boxMax) = 0;
called when on-demand physicalized box expires. the streamer is expected to delete those that have a 0 refcounter, and keep the rest
virtual int DestroyPhysicalEntity(IPhysicalEntity * pent) = 0;
called whenever a placeholder-owned entity expires