示例#1
0
        public void Setup(Entity e, NodeLoad load)
        {
            var   uvMesh = new UvMesh();
            float scale  = Numbers.Width;

            uvMesh.SetVertices(new VertexPositionColorTexture[4]
            {
                new VertexPositionColorTexture(new Vector3(0, 0, 0), Color.White, new Vector2(0, 0)),
                new VertexPositionColorTexture(new Vector3(0, scale, 0), Color.White, new Vector2(0, .1f)),
                new VertexPositionColorTexture(new Vector3(scale, 0, 0), Color.White, new Vector2(1, 0)),
                new VertexPositionColorTexture(new Vector3(scale, scale, 0), Color.White, new Vector2(1, .1f)),
            });
            uvMesh.SetIndices(new short[6]
            {
                0, 2, 1,
                1, 2, 3
            });
            uvMesh.RecalculateBounds();
            uvMesh.SetTexture(Numbers);
            uvMesh.Offset = new Vector2(-DefaultSprite.Width / 2, DefaultSprite.Height - 25);

            var slidingNumber = new SlidingNumber();

            slidingNumber.Instant = true;

            e.addComponent(new Clickable());
            e.addComponent(new SpriteButton(DefaultSprite, ClickedSprite));
            e.addComponent(slidingNumber);
            e.addComponent(new NodeAmount(load.Amount));
            e.addComponent(uvMesh);
            e.position = new Vector2(load.X, load.Y);
        }
示例#2
0
        /// <summary>
        /// Write a node load
        /// </summary>
        /// <param name="load"></param>
        /// <param name="context"></param>
        public void WriteLoad(NodeLoad load, ETABSConversionContext context)
        {
            string groupID = load.GUID.ToString();
            // Currently nodes are not all written unless restrained:
            //WriteSet(groupID, load.AppliedTo, context);

            // TODO
        }
        public override bool Execute(ExecutionInfo exInfo = null)
        {
            LoadCase lCase = Model.LoadCases.FindByName(Case);

            if (lCase == null)
            {
                lCase = Model.Create.LoadCase(Case, exInfo);
            }
            NodeLoad nLoad = Model.Create.NodeLoad(lCase, exInfo);

            nLoad.Name = Name;
            nLoad.AppliedTo.Set(ApplyTo);
            nLoad.SetForce(Force);
            Load = nLoad;
            return(true);
        }
示例#4
0
        public override bool Execute(ExecutionInfo exInfo = null)
        {
            LoadCase lCase = Model.LoadCases.FindByName(Case);

            if (lCase == null || lCase.IsDeleted)
            {
                lCase = Model.Create.LoadCase(Case, exInfo);
            }
            NodeLoad nLoad = Model.Create.NodeLoad(lCase, exInfo);

            nLoad.Name      = Name;
            nLoad.Axes      = Axes;
            nLoad.Direction = Direction;
            nLoad.Value     = Value;
            nLoad.AppliedTo.Set(ApplyTo);
            Load = nLoad;
            return(true);
        }
 /// <summary>
 /// Sets the joint loads force.
 /// </summary>
 /// <param name="model">The model.</param>
 /// <param name="table">The table.</param>
 private static void setJOINT_LOADS_FORCE(Model model, List <Dictionary <string, string> > table)
 {
     foreach (Dictionary <string, string> tableRow in table)
     {
         Point    point    = model.Structure.Points[tableRow["Joint"]];
         NodeLoad nodeLoad = new NodeLoad
         {
             CoordinateSystem = tableRow["CoordSys"],
             LoadPattern      = tableRow["LoadPat"],
             Force            = new Loads
             {
                 F1 = Adaptor.toDouble(tableRow["F1"]),
                 F2 = Adaptor.toDouble(tableRow["F2"]),
                 F3 = Adaptor.toDouble(tableRow["F3"]),
                 M1 = Adaptor.toDouble(tableRow["M1"]),
                 M2 = Adaptor.toDouble(tableRow["M2"]),
                 M3 = Adaptor.toDouble(tableRow["M3"]),
             }
         };
         point.Loads.Add(nodeLoad);
     }
 }
示例#6
0
        public override void initialize()
        {
            buttonTexture        = content.Load <Texture2D>("Sprites/Button");
            buttonPressedTexture = content.Load <Texture2D>("Sprites/ButtonPressed");
            lineTexture          = content.Load <Texture2D>("Sprites/DashedLine");
            numberTexture        = content.Load <Texture2D>("Sprites/Numbers");

            camera.setPosition(new Vector2(-Screen.width / 2, -Screen.height / 2));
            addRenderer(new DefaultRenderer(camera: camera));

            var globals = createEntity("globals");

            globals.addComponent(new MouseInput());
            globals.addComponent(new EntityMap());

            NodeFactory nodeFactory = new NodeFactory(buttonTexture, buttonPressedTexture, numberTexture);

            addEntityProcessor(new InputSystem(globals));
            addEntityProcessor(new ClickDetector(globals));
            addEntityProcessor(new SpriteButtonSystem());
            addEntityProcessor(new MapLoader(globals, nodeFactory));
            addEntityProcessor(new ConnectionLoader(lineTexture));
            addEntityProcessor(new SlidingNumberMover());
            addEntityProcessor(new SlidingUVWriter());
            addEntityProcessor(new NodeClickHandler(globals));

            NodeLoad[] nodeLoads = new NodeLoad[3];
            nodeLoads[0] = new NodeLoad(-150, 0, 2);
            nodeLoads[1] = new NodeLoad(150, 0, 0);
            nodeLoads[2] = new NodeLoad(0, 100, 4);

            Tuple <int, int>[] connections = new Tuple <int, int> [3];
            connections[0] = new Tuple <int, int>(0, 1);
            connections[1] = new Tuple <int, int>(1, 2);
            connections[2] = new Tuple <int, int>(2, 0);

            globals.addComponent(new MapLoad(nodeLoads, connections));
        }
 public GsaNodeLoad()
 {
     m_nodeload   = new NodeLoad();
     NodeLoadType = NodeLoadTypes.NODE_LOAD;
 }