public SubAssembly(Part refAssembly, Part movingAssembly, TVGLConvexHull combinedCVXHull, InstallCharacterType InstallCharacter, List <PolygonalFace> refFacesInCombined) { PartNames = new List <string>(refAssembly.PartNames); PartNames.AddRange(movingAssembly.PartNames); Name = "subasm-" + PartNames.Aggregate((i, j) => i + "," + j); Install = new InstallAction { Reference = refAssembly, Moving = movingAssembly }; InstallModelInputs = new double[1, 6]; Secure = new SecureAction(); Rotate = new RotateAction(); RotateModelInputs = new double[1, 5]; MoveRoate = new MoveRotateAction(); MoveRoateModelInputs = new double[1, 5]; this.InstallCharacter = InstallCharacter; Mass = refAssembly.Mass + movingAssembly.Mass; Volume = refAssembly.Volume + movingAssembly.Volume; //volume of sphere = (4/3)*Math.Pi*r*r*r var radius = Math.Pow(0.75 * Volume / Math.PI, 1.0 / 3.0); AvgMomentofInertia = Mass * radius * radius; CVXHull = combinedCVXHull; this.refFacesInCombined = refFacesInCombined; InternalStabilityInfo = new InternalStability(); InternalStabilityInfo.needfixture = false; }
public bool Evaluate(List <node> s1, List <node> s2, out InstallAction install) { throw new NotImplementedException(); }