コード例 #1
0
ファイル: Luminaire.cs プロジェクト: BHoM/BHoM_Engine
        public static Luminaire Luminaire(this Point pt, Vector orientation = null, LuminaireType type = null, string name = "")
        {
            Luminaire luminaire = new Luminaire
            {
                Position      = pt,
                Direction     = orientation,
                LuminaireType = type,
                Name          = name
            };

            return(luminaire);
        }
コード例 #2
0
ファイル: Luminaire.cs プロジェクト: BHoM/BHoM_Engine
        public static List <Luminaire> Luminaire(this ICurve crv, double maxSpacing, Point target, LuminaireType type = null, string name = "")
        {
            double crvLen = crv.Length();

            if (maxSpacing == 0)
            {
                return(null);
            }
            int count = (int)Math.Ceiling(crvLen / maxSpacing) + 1;

            return(Luminaire(crv, count, target, type, name));
        }
コード例 #3
0
ファイル: Luminaire.cs プロジェクト: BHoM/BHoM_Engine
        public static List <Luminaire> Luminaire(this ICurve crv, double exactSpacing, Point target, bool centered = true, LuminaireType type = null, string name = "")
        {
            ICurve trimmedCrv;

            double crvLen = crv.Length();

            if (exactSpacing == 0)
            {
                return(null);
            }
            if (centered)
            {
                trimmedCrv = crv.IExtend(-0.5 * (crvLen % exactSpacing), -0.5 * (crvLen % exactSpacing));
            }
            else
            {
                trimmedCrv = crv.IExtend(0, -(crvLen % exactSpacing));
            }
            return(Luminaire(trimmedCrv, exactSpacing, target, type, name));
        }
コード例 #4
0
ファイル: Luminaire.cs プロジェクト: BHoM/BHoM_Engine
        public static List <Luminaire> Luminaire(this ICurve crv, int count, Vector dir, LuminaireType type = null, string name = "")
        {
            List <Luminaire> luminaires = new List <Luminaire>();
            List <Point>     pts        = crv.SamplePoints(count);

            for (int i = 0; i < pts.Count; i++)
            {
                Luminaire lum = Create.Luminaire(pts[i], dir, type, name + "_" + i.ToString());
                luminaires.Add(lum);
            }
            return(luminaires);
        }