I'm using your newest ND4 version and found out, that you're missing "UpdateParameters" for the ndJointWheel, hence i hit the assert.
- Code: Select all
D_MSV_NEWTON_CLASS_ALIGN_32
class ndJointWheel : public ndJointBilateralConstraint
{
public:
D_CLASS_REFLECTION(ndJointWheel, ndJointBilateralConstraint)
D_NEWTON_API ndJointWheel();
D_NEWTON_API ndJointWheel(const ndMatrix& pinAndPivotFrame, ndBodyKinematic* const child, ndBodyKinematic* const parent, const ndWheelDescriptor& desc);
D_NEWTON_API virtual ~ndJointWheel();
D_NEWTON_API ndFloat32 GetPosit() const;
D_NEWTON_API ndFloat32 SetSpeed() const;
D_NEWTON_API ndFloat32 GetBreak() const;
D_NEWTON_API ndFloat32 GetSteering() const;
D_NEWTON_API ndFloat32 GetHandBreak() const;
D_NEWTON_API void SetBreak(ndFloat32 normalizedTorque);
D_NEWTON_API void SetHandBreak(ndFloat32 normalizedTorque);
D_NEWTON_API void SetSteering(ndFloat32 normalidedSteering);
D_NEWTON_API void UpdateTireSteeringAngleMatrix();
D_NEWTON_API ndMatrix CalculateBaseFrame() const;
D_NEWTON_API ndMatrix CalculateUpperBumperMatrix() const;
D_NEWTON_API const ndWheelDescriptor& GetInfo() const;
D_NEWTON_API void SetInfo(const ndWheelDescriptor& info);
void DebugJoint(ndConstraintDebugCallback& debugCallback) const override;
protected:
D_NEWTON_API void JacobianDerivative(ndConstraintDescritor& desc) override;
ndMatrix m_baseFrame;
ndWheelDescriptor m_info;
ndFloat32 m_posit;
ndFloat32 m_speed;
ndFloat32 m_regularizer;
ndFloat32 m_normalizedBrake;
ndFloat32 m_normalizedSteering;
ndFloat32 m_normalizedSteering0;
ndFloat32 m_normalizedHandBrake;
bool m_IsApplyingBreaks;
friend class ndMultiBodyVehicle;
} D_GCC_NEWTON_CLASS_ALIGN_32;
Best Regards
Lax


