コード例 #1
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            bool   randomizeIt          = new bool();
            bool   addHeadingTrajectory = new bool();
            double change          = new double();
            double wanderRad       = new double();
            double wanderDist      = new double();
            double rotationTrigger = new double();
            Mesh   mesh            = null;
            bool   mapChange       = new bool();
            bool   mapRadius       = new bool();
            bool   mapDistance     = new bool();

            if (!DA.GetData(0, ref randomizeIt))
            {
                return;
            }
            if (!DA.GetData(1, ref addHeadingTrajectory))
            {
                return;
            }
            if (!DA.GetData(2, ref change))
            {
                return;
            }
            if (!DA.GetData(3, ref wanderRad))
            {
                return;
            }
            if (!DA.GetData(4, ref wanderDist))
            {
                return;
            }
            if (!DA.GetData(5, ref mesh))
            {
                return;
            }
            if (mesh == null || mesh.VertexColors.Count == 0)
            {
                AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Input mesh must have vertex colors, please check your input");
                return;
            }
            if (!DA.GetData(6, ref mapChange))
            {
                return;
            }
            if (!DA.GetData(7, ref mapRadius))
            {
                return;
            }
            if (!DA.GetData(8, ref mapDistance))
            {
                return;
            }

            WanderingData wanderData = new WanderingData((float)change, (float)wanderRad, (float)wanderDist, (float)rotationTrigger, randomizeIt, addHeadingTrajectory,
                                                         "Wander", mesh, mapChange, mapRadius, mapDistance);

            DA.SetData(0, wanderData);
        }
コード例 #2
0
ファイル: BehaviorData.cs プロジェクト: Blairhuang/Culebra
 public BehaviorData(FlockingData flock_Data, WanderingData wander_Data, TrackingData tracking_data, StigmergyData stigmergy_Data, NoiseData noise_Data,
                     List <ForceData> force_Data, SeparationData separation_Data, MeshCrawlData meshCrawl_Data, List <string> order_Data, BundlingData bundling_Data)
 {
     this.flockData      = flock_Data;
     this.wanderData     = wander_Data;
     this.trackingData   = tracking_data;
     this.stigmergyData  = stigmergy_Data;
     this.noiseData      = noise_Data;
     this.forceData      = force_Data;
     this.separationData = separation_Data;
     this.meshCrawlData  = meshCrawl_Data;
     this.bundlingData   = bundling_Data;
     this.dataOrder      = order_Data;
 }
コード例 #3
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            double change          = new double();
            double wanderRad       = new double();
            double wanderDist      = new double();
            double rotationTrigger = new double();
            int    type            = new int();

            if (!DA.GetData(0, ref change))
            {
                return;
            }
            if (!DA.GetData(1, ref wanderRad))
            {
                return;
            }
            if (!DA.GetData(2, ref wanderDist))
            {
                return;
            }
            if (!DA.GetData(3, ref rotationTrigger))
            {
                return;
            }
            if (!DA.GetData(4, ref type))
            {
                return;
            }

            WanderingData wanderData = new WanderingData((float)change, (float)wanderRad, (float)wanderDist, (float)rotationTrigger);

            if (type == 0)
            {
                wanderData.wanderingType = "SuperWander";
            }
            if (type == 1)
            {
                wanderData.wanderingType = "SuperWander_B";
            }
            if (type == 2)
            {
                wanderData.wanderingType = "SuperWander_C";
            }
            if (type > 2)
            {
                AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Type value cannot be greater than 2, please input correct number");
            }
            DA.SetData(0, wanderData);
        }
コード例 #4
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            bool   randomizeIt          = new bool();
            bool   addHeadingTrajectory = new bool();
            double change          = new double();
            double wanderRad       = new double();
            double wanderDist      = new double();
            double rotationTrigger = new double();

            if (!DA.GetData(0, ref randomizeIt))
            {
                return;
            }
            if (!DA.GetData(1, ref addHeadingTrajectory))
            {
                return;
            }
            if (!DA.GetData(2, ref change))
            {
                return;
            }
            if (!DA.GetData(3, ref wanderRad))
            {
                return;
            }
            if (!DA.GetData(4, ref wanderDist))
            {
                return;
            }

            WanderingData wanderData = new WanderingData((float)change, (float)wanderRad, (float)wanderDist, (float)rotationTrigger, randomizeIt, addHeadingTrajectory);

            wanderData.wanderingType = "Wander";

            DA.SetData(0, wanderData);
        }