예제 #1
0
        public sFrame(sNode n0, sNode n1)
        {
            this.node0 = n0;
            this.node1 = n1;

            this.axis = new sLine(n0.location, n1.location);
        }
        public sNode TosNode()
        {
            sNode newNode = new sNode();

            newNode.location          = this.location;
            newNode.boundaryCondition = this;
            return(newNode);
        }
예제 #3
0
        public sFrame(sNode n0, sNode n1, sXYZ upVec)
        {
            this.node0 = n0;
            this.node1 = n1;

            this.axis = new sLine(n0.location, n1.location);

            this.AwareLocalPlane(upVec);
        }
        public sNode TosNode()
        {
            sNode newNode = new sNode();

            newNode.location   = this.location;
            newNode.pointLoads = new List <sPointLoad>();
            newNode.pointLoads.Add(this);
            return(newNode);
        }
예제 #5
0
        public sNode DuplicatesNode()
        {
            sNode nn = new sNode(this.location);

            nn.nodeID = this.nodeID;
            if (this.boundaryCondition != null)
            {
                nn.boundaryCondition = this.boundaryCondition.DuplicatesPointSupport();
            }

            if (this.pointLoads != null && this.pointLoads.Count > 0)
            {
                nn.pointLoads = new List <sPointLoad>();
                foreach (sPointLoad pl in this.pointLoads)
                {
                    nn.pointLoads.Add(pl.DuplicatePointLoad());
                }
            }

            return(nn);
        }
예제 #6
0
        /*
         * public void DistributeLoadToRelaventBeams_AsLineLoad(sSystem jsys)
         * {
         *  //for SAP cal, I don't need to merge loads for load combination!!
         *  //for Millipede cal, I need to merge loads for load combination!!
         *  //In this function, I just need to convert point load to relavent beams as line load
         *  //no need to consider load combination
         *  if (this.pointLoads != null)
         *  {
         *      foreach (sPointLoad pl in this.pointLoads)
         *      {
         *          pl.DistributePointLoadToRelaventBeams(this.location, jsys);
         *      }
         *  }
         * }
         */

        public double DistanceTo(sNode n)
        {
            return(this.location.DistanceTo(n.location));
        }