dNewtonTriggerManager::dNewtonTrigger* dNewtonTriggerManager::GetNextTrigger(const dNewtonTrigger* const trigger) const
{
	dAssert (trigger);
	dAssert (GetNodeFromInfo(*trigger->m_controller));
	dListNode* const node = GetNodeFromInfo(*trigger->m_controller)->GetNext();
	if (node) {
		return (dNewtonTriggerManager::dNewtonTrigger*) NewtonBodyGetUserData (node->GetInfo().GetBody());
	}
	return NULL;
}
dNewtonArticulationManager::dNewtonArticulationController* dNewtonArticulationManager::GetNextController(const dNewtonArticulationController* const controller) const
{
	dAssert (0);
	dAssert (controller);
	dAssert (GetNodeFromInfo(*controller->m_controller));
	dListNode* const node = GetNodeFromInfo(*controller->m_controller)->GetNext();
	if (node) {
		return (dNewtonArticulationManager::dNewtonArticulationController*) NewtonBodyGetUserData (node->GetInfo().GetBody());
	}
	return NULL;
}