/// <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); }
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; }
/// <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); }
/// <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); }