/// <summary> /// Adds a Solid to the internal list of Solids. /// </summary> /// <param name="s"></param> protected void AddSolid(Solid s) { solidList.Add(s); }
/// <summary> /// Helper function used for ray casting. Immediately fires a ray /// into the scene and returns intersections results. Uses the /// ray's contact group parameter to limit collision checks. /// </summary> /// <param name="r"></param> /// <param name="length"></param> /// <param name="attachedSolid"></param> /// <param name="rayContactGroup"></param> /// <returns></returns> public abstract List <RaycastResult> InternalFireRay(Ray r, float length, Solid attachedSolid, int rayContactGroup);
/// <summary> /// Helper function used for volume queries. /// </summary> /// <param name="volume"></param> /// <param name="attachedSolid"></param> /// <returns></returns> public abstract VolumeQueryResult InternalQueryVolume(Solid volume, Solid attachedSolid);
/// <summary> /// Sets the Solids constrained by this Joint. /// </summary> /// <param name="s0"></param> /// <param name="s1"></param> protected void SetSolids(Solid s0, Solid s1) { data.Solid0 = s0; data.Solid1 = s1; }