protected override void InitDiagram() { base.InitDiagram(); NPage activePage = m_DrawingDocument.Content.ActivePage; // we will be using basic shapes for this example NBasicShapeFactory basicShapesFactory = new NBasicShapeFactory(); basicShapesFactory.DefaultSize = new NSize(80, 80); NList <NPerson> persons = new NList <NPerson>(); // create persons NPerson personEmil = new NPerson("Emil Moore", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personAndre = new NPerson("Andre Smith", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personRobert = new NPerson("Robert Johnson", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personBob = new NPerson("Bob Williams", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personPeter = new NPerson("Peter Brown", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personSilvia = new NPerson("Silvia Moore", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personEmily = new NPerson("Emily Smith", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personMonica = new NPerson("Monica Johnson", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personSamantha = new NPerson("Samantha Miller", basicShapesFactory.CreateShape(ENBasicShape.Circle)); NPerson personIsabella = new NPerson("Isabella Davis", basicShapesFactory.CreateShape(ENBasicShape.Circle)); persons.Add(personEmil); persons.Add(personAndre); persons.Add(personRobert); persons.Add(personBob); persons.Add(personPeter); persons.Add(personSilvia); persons.Add(personEmily); persons.Add(personMonica); persons.Add(personSamantha); persons.Add(personIsabella); // create family relashionships personEmil.m_Family = personSilvia; personAndre.m_Family = personEmily; personRobert.m_Family = personMonica; // create friend relationships personEmily.m_Friends.Add(personBob); personEmily.m_Friends.Add(personMonica); personAndre.m_Friends.Add(personPeter); personAndre.m_Friends.Add(personIsabella); personSilvia.m_Friends.Add(personBob); personSilvia.m_Friends.Add(personSamantha); personSilvia.m_Friends.Add(personIsabella); personEmily.m_Friends.Add(personIsabella); personEmily.m_Friends.Add(personPeter); personPeter.m_Friends.Add(personRobert); // create the person vertices for (int i = 0; i < persons.Count; i++) { activePage.Items.Add(persons[i].m_Shape); } // creeate the family relations for (int i = 0; i < persons.Count; i++) { NPerson currentPerson = persons[i]; if (currentPerson.m_Family != null) { NRoutableConnector connector = new NRoutableConnector(); connector.MakeLine(); activePage.Items.Add(connector); connector.GlueBeginToShape(currentPerson.m_Shape); connector.GlueEndToShape(currentPerson.m_Family.m_Shape); connector.Geometry.Stroke = new NStroke(2, NColor.Coral); connector.LayoutData.SpringStiffness = 2; connector.LayoutData.SpringLength = 100; } } for (int i = 0; i < persons.Count; i++) { NPerson currentPerson = persons[i]; for (int j = 0; j < currentPerson.m_Friends.Count; j++) { NRoutableConnector connector = new NRoutableConnector(); connector.MakeLine(); activePage.Items.Add(connector); connector.GlueBeginToShape(currentPerson.m_Shape); connector.GlueEndToShape(currentPerson.m_Friends[j].m_Shape); connector.Geometry.Stroke = new NStroke(2, NColor.Green); connector.LayoutData.SpringStiffness = 1; connector.LayoutData.SpringLength = 200; } } // arrange diagram ArrangeDiagram(); // fit active page m_DrawingDocument.Content.ActivePage.ZoomMode = ENZoomMode.Fit; }
private void CreatePredefinedGraph() { // we will be using basic shapes for this example NBasicShapesFactory basicShapesFactory = new NBasicShapesFactory(); basicShapesFactory.DefaultSize = new NSizeF(80, 80); List <NPerson> persons = new List <NPerson>(); // create persons NPerson personEmil = new NPerson("Emil Moore", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personAndre = new NPerson("Andre Smith", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personRobert = new NPerson("Robert Johnson", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personBob = new NPerson("Bob Williams", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personPeter = new NPerson("Peter Brown", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personSilvia = new NPerson("Silvia Moore", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personEmily = new NPerson("Emily Smith", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personMonica = new NPerson("Monica Johnson", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personSamantha = new NPerson("Samantha Miller", basicShapesFactory.CreateShape(BasicShapes.Circle)); NPerson personIsabella = new NPerson("Isabella Davis", basicShapesFactory.CreateShape(BasicShapes.Circle)); persons.Add(personEmil); persons.Add(personAndre); persons.Add(personRobert); persons.Add(personBob); persons.Add(personPeter); persons.Add(personSilvia); persons.Add(personEmily); persons.Add(personMonica); persons.Add(personSamantha); persons.Add(personIsabella); // create family relashionships personEmil.m_Family = personSilvia; personAndre.m_Family = personEmily; personRobert.m_Family = personMonica; // create friend relationships personEmily.m_Friends.Add(personBob); personEmily.m_Friends.Add(personMonica); personAndre.m_Friends.Add(personPeter); personAndre.m_Friends.Add(personIsabella); personSilvia.m_Friends.Add(personBob); personSilvia.m_Friends.Add(personSamantha); personSilvia.m_Friends.Add(personIsabella); personEmily.m_Friends.Add(personIsabella); personEmily.m_Friends.Add(personPeter); personPeter.m_Friends.Add(personRobert); // create the person vertices for (int i = 0; i < persons.Count; i++) { NDrawingView1.Document.ActiveLayer.AddChild(persons[i].m_Shape); } // creeate the family relations for (int i = 0; i < persons.Count; i++) { NPerson currentPerson = persons[i]; if (currentPerson.m_Family != null) { NLineShape connector = new NLineShape(); NDrawingView1.Document.ActiveLayer.AddChild(connector); connector.FromShape = currentPerson.m_Shape; connector.ToShape = currentPerson.m_Family.m_Shape; connector.LayoutData.SpringStiffness = 2; connector.LayoutData.SpringLength = 100; connector.Style.StrokeStyle = new NStrokeStyle(2, Color.Coral); } } for (int i = 0; i < persons.Count; i++) { NPerson currentPerson = persons[i]; for (int j = 0; j < currentPerson.m_Friends.Count; j++) { NLineShape connector = new NLineShape(); NDrawingView1.Document.ActiveLayer.AddChild(connector); connector.FromShape = currentPerson.m_Shape; connector.ToShape = currentPerson.m_Friends[j].m_Shape; connector.LayoutData.SpringStiffness = 1; connector.LayoutData.SpringLength = 200; connector.Style.StrokeStyle = new NStrokeStyle(2, Color.Green); } } }