I'm currently experimenting with implementing a cloth simulation algorithm as a Houdini plug-in in C++. Rather than writing my own collision detection algorithm (or using an external library) I would like to use Houdini's built in collision detection routines, but I'm not sure where to start. It seems that the SIM_ColliderBFA class is what I should be using, but I can't figure out what do with it.
In outline, my solver implementation is currently based on the SIM_SingleSolver (so only one cloth object can be solved at time) class. This implements the virtual function
SIM_Solver:

SIM_Object &object,
SIM_ObjectArray &feedbacktoobjects,
const SIM_Time ×tep,
bool newobject);
My guess is that I should be doing something like:
SIM_ColliderBFA* clothCollider = SIM_DATA_CREATE(object, “Collider”, SIM_ColliderBFA, 0);
once I get to the collision detection step, but this always seems to return NULL (presumably because object is missing some required sub-data).
Any advice on this matter would be greatly appreciated!