public void TestSelectComponentsList(string modelName)
        {
            ModelDoc2   doc      = OpenSWDocument(modelName);
            AssemblyDoc assyDoc  = (AssemblyDoc)doc;
            LinkNode    baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool abortProcess);

            Assert.False(abortProcess);

            Link baseLink = baseNode.RebuildLink();
            List <Component2> componentsToSelect      = baseLink.SWComponents;
            HashSet <string>  componentsToSelectNames =
                new HashSet <string>(componentsToSelect.Select(component => component.Name2));

            CommonSwOperations.SelectComponents(doc, componentsToSelect, true);
            SelectionMgr selManager = doc.SelectionManager;

            // -1 is the Mark, set to negative one if it's not being used.
            int numSelected = selManager.GetSelectedObjectCount2(-1);

            Assert.Equal(componentsToSelect.Count, numSelected);

            for (int i = 0; i < selManager.GetSelectedObjectCount2(-1); i++)
            {
                // -1 is the Mark, set to negative one if it's not being used.
                Component2 comp = selManager.GetSelectedObjectsComponent4(i, -1);
                Assert.Contains(comp.Name2, componentsToSelectNames);
            }

            SwApp.CloseAllDocuments(true);
        }
Exemplo n.º 2
0
        public void TestLoadBaseNodeFromModel(string modelName, int expNumLinks)
        {
            ModelDoc2 doc      = OpenSWDocument(modelName);
            LinkNode  baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool error);

            Xunit.Assert.False(error);
            Xunit.Assert.NotNull(baseNode);
            Xunit.Assert.Equal(expNumLinks, CommonSwOperations.GetCount(baseNode.RebuildLink()));
        }
        public void TestFindHiddenComponens(string modelName, int expected)
        {
            ModelDoc2   doc     = OpenSWDocument(modelName);
            AssemblyDoc assyDoc = (AssemblyDoc)doc;

            Assert.Equal(expected, CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(false)).Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestShowAllComponents(string modelName)
        {
            ModelDoc2   doc     = OpenSWDocument(modelName);
            AssemblyDoc assyDoc = (AssemblyDoc)doc;

            CommonSwOperations.ShowAllComponents(doc, new List <string>());
            Assert.Equal(0, CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(false)).Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestGetCountNodeCollection(string modelName, int expected)
        {
            ModelDoc2 doc      = OpenSWDocument(modelName);
            LinkNode  baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool abortProcess);

            Assert.False(abortProcess);

            Assert.Equal(expected, CommonSwOperations.GetCount(baseNode.Nodes));

            SwApp.CloseAllDocuments(true);
        }
        public void TestLoadSWComponentsList(string modelName)
        {
            ModelDoc2 doc      = OpenSWDocument(modelName);
            LinkNode  baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool abortProcess);

            Assert.False(abortProcess);
            List <Component2> components = CommonSwOperations.LoadSWComponents(doc, baseNode.Link.SWComponentPIDs);

            Assert.Equal(baseNode.Link.SWComponentPIDs.Count, components.Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestLoadSWComponent(string modelName)
        {
            ModelDoc2 doc      = OpenSWDocument(modelName);
            LinkNode  baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool abortProcess);

            Assert.False(abortProcess);
            baseNode.Link.SWMainComponentPID = baseNode.Link.SWComponentPIDs[0];
            Component2 component = CommonSwOperations.LoadSWComponent(doc, baseNode.Link.SWMainComponentPID);

            Assert.NotNull(component);

            SwApp.CloseAllDocuments(true);
        }
        public void TestLoadSWComponentsLinkNode(string modelName)
        {
            ModelDoc2 doc      = OpenSWDocument(modelName);
            LinkNode  baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool abortProcess);

            Assert.False(abortProcess);
            List <string> problemLinks = new List <string>();

            CommonSwOperations.LoadSWComponents(doc, baseNode, problemLinks);
            Assert.Empty(problemLinks);

            SwApp.CloseAllDocuments(true);
        }
        public void TestSaveSWComponentsList(string modelName)
        {
            ModelDoc2   doc     = OpenSWDocument(modelName);
            AssemblyDoc assyDoc = (AssemblyDoc)doc;

            object[]          componentObjs = assyDoc.GetComponents(false);
            List <Component2> components    = componentObjs.Cast <Component2>().ToList();
            List <byte[]>     pids          = CommonSwOperations.SaveSWComponents(doc, components);

            Assert.Equal(pids.Count, components.Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestSaveSWComponent(string modelName, string componentName, byte[] expected)
        {
            ModelDoc2   doc       = OpenSWDocument(modelName);
            AssemblyDoc assyDoc   = (AssemblyDoc)doc;
            Component2  component = assyDoc.GetComponentByName(componentName);

            Assert.NotNull(component);
            LinkNode baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool abortProcess);

            Assert.False(abortProcess);
            baseNode.Link.SWMainComponent = component;
            byte[] pid = CommonSwOperations.SaveSWComponent(doc, baseNode.Link.SWMainComponent);
            Assert.NotNull(pid);
            Assert.Equal(expected.Length, pid.Length);
            SwApp.CloseAllDocuments(true);
        }
        public void TestHideComponents(string modelName)
        {
            ModelDoc2         doc     = OpenSWDocument(modelName);
            AssemblyDoc       assyDoc = (AssemblyDoc)doc;
            List <string>     hiddenComponentNames = CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(false));
            List <Component2> hiddenComponents     =
                hiddenComponentNames.Select(name => assyDoc.GetComponentByName(name)).ToList();

            CommonSwOperations.ShowAllComponents(doc, new List <string>());
            CommonSwOperations.HideComponents(doc, hiddenComponents);
            List <string> hiddenComponentNames2 = CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(false));

            Assert.Equal(hiddenComponentNames.Count, hiddenComponentNames2.Count);

            SwApp.CloseAllDocuments(true);
        }
Exemplo n.º 12
0
        public void TestExportRobotSkipVisual(string modelName, int expNumLinks)
        {
            ModelDoc2    doc    = OpenSWDocument(modelName);
            ExportHelper helper = new ExportHelper(SwApp);

            helper.SetComputeInertial(true);
            helper.SetComputeJointKinematics(true);
            helper.SetComputeJointLimits(true);
            helper.SetComputeVisualCollision(false);
            LinkNode baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool error);

            Assert.False(error);
            helper.CreateRobotFromTreeView(baseNode);
            helper.ExportRobot(true);
            Assert.NotNull(helper.URDFRobot);
            Assert.Equal(expNumLinks, CommonSwOperations.GetCount(helper.URDFRobot.BaseLink));
            Assert.True(SwApp.CloseAllDocuments(true));
        }
        public void TestShowComponents(string modelName)
        {
            ModelDoc2   doc     = OpenSWDocument(modelName);
            AssemblyDoc assyDoc = (AssemblyDoc)doc;

            // AssemblyDoc.GetComponentsByName only works on top level components.
            List <string>     hiddenComponentNames = CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(true));
            List <Component2> hiddenComponents     = new List <Component2>();

            foreach (string name in hiddenComponentNames)
            {
                Component2 hiddenComp = assyDoc.GetComponentByName(name);
                Assert.NotNull(hiddenComp);
                hiddenComponents.Add(hiddenComp);
            }
            CommonSwOperations.ShowComponents(doc, hiddenComponents);
            Assert.Equal(0, CommonSwOperations.FindHiddenComponents(assyDoc.GetComponents(true)).Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestGetSelectedComponents(string modelName)
        {
            ModelDoc2   doc      = OpenSWDocument(modelName);
            AssemblyDoc assyDoc  = (AssemblyDoc)doc;
            LinkNode    baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool abortProcess);

            Assert.False(abortProcess);

            Link baseLink = baseNode.RebuildLink();
            List <Component2> componentsToSelect      = baseLink.SWComponents;
            HashSet <string>  componentsToSelectNames =
                new HashSet <string>(componentsToSelect.Select(component => component.Name2));

            CommonSwOperations.SelectComponents(doc, componentsToSelect, true);
            List <Component2> selectedComponents = new List <Component2>();

            CommonSwOperations.GetSelectedComponents(doc, selectedComponents);
            Assert.Equal(componentsToSelect.Count, selectedComponents.Count);

            SwApp.CloseAllDocuments(true);
        }
        public void TestSaveSWComponentsLink(string modelName)
        {
            ModelDoc2 doc      = OpenSWDocument(modelName);
            LinkNode  baseNode = ConfigurationSerialization.LoadBaseNodeFromModel(doc, out bool abortProcess);

            Assert.False(abortProcess);

            List <string> problemLinks = new List <string>();

            CommonSwOperations.LoadSWComponents(doc, baseNode, problemLinks);
            Assert.Empty(problemLinks);

            Link baseLink = baseNode.RebuildLink();

            baseLink.SWMainComponent = baseLink.SWComponents[0];
            CommonSwOperations.SaveSWComponents(doc, baseLink);
            Assert.Equal(baseLink.SWComponents.Count, baseLink.SWComponentPIDs.Count);
            Assert.NotNull(baseLink.SWMainComponentPID);

            SwApp.CloseAllDocuments(true);
        }
Exemplo n.º 16
0
        public void TestLoadConfigFromStringXML(string modelName, int expNumLinks)
        {
            ModelDoc2   doc           = OpenSWDocument(modelName);
            PrivateType serialization = new PrivateType(typeof(ConfigurationSerialization));
            object      swAttObj      = serialization.InvokeStatic(
                "FindSWSaveAttribute", new object[] { doc, "URDF Export Configuration" });

            Xunit.Assert.NotNull(swAttObj);

            Attribute swAtt = (Attribute)swAttObj;
            Parameter param = swAtt.GetParameter("data");

            Xunit.Assert.NotNull(param);
            string data = param.GetStringValue();

            Xunit.Assert.NotNull(data);
            Xunit.Assert.NotEmpty(data);

            LinkNode baseNode = (LinkNode)serialization.InvokeStatic(
                "LoadConfigFromStringXML", new object[] { data });
            Link link = baseNode.RebuildLink();

            Xunit.Assert.Equal(expNumLinks, CommonSwOperations.GetCount(link));
        }
Exemplo n.º 17
0
 public void SaveConfigTree(ModelDoc2 model, LinkNode BaseNode, bool warnUser)
 {
     CommonSwOperations.RetrieveSWComponentPIDs(model, BaseNode);
     ConfigurationSerialization.SaveConfigTreeXML(swApp, model, BaseNode, warnUser);
 }
 public void TestPIDToString(byte[] pid, string expected)
 {
     Assert.Equal(expected, CommonSwOperations.PIDToString(pid));
 }