protected override void RegisterInputParams(GH_InputParamManager pManager) { base.RegisterInputParams(pManager); pManager.AddMeshParameter("Geometry", "G", "Geometry to rough out.", GH_ParamAccess.list); pManager.AddMeshParameter("Stock", "S", "Stock model.", GH_ParamAccess.list); }
} //Terrain Grade protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("地形", "Mt", "要进行坡度分析的山地地形网格,仅支持单项数据", GH_ParamAccess.item); pManager.AddMeshParameter("障碍物", "O", "(可选)阻挡视线的障碍物体,,仅支持单列数据", GH_ParamAccess.list); pManager[1].Optional = true; pManager.AddPointParameter("观察点", "P", "观察者所在的点位置(不一定在网格上),支持多点观察,仅支持单列数据", GH_ParamAccess.list); pManager.AddIntegerParameter("精度", "A", "分析精度,即分析点阵内的间距,仅支持单项数据", GH_ParamAccess.item); }
void Inputs(GH_InputParamManager pManager) { pManager.AddParameter(new ToolpathParameter(), "Toolpath", "T", "Toolpath to orient.", GH_ParamAccess.item); pManager.AddMeshParameter("Surface", "S", "Surface mesh - mesh touching the toolpath.", GH_ParamAccess.item); pManager.AddMeshParameter("Guide", "G", "Guide mesh - mesh that will be used to align the normal of the targets.", GH_ParamAccess.item); pManager.AddPointParameter("Point alignment", "P", "Aligns the X axis of the tagets to look towards this point (in world coordinate system). If not supplied it will use the X axis of the reference target.", GH_ParamAccess.item); pManager[1].Optional = true; pManager[3].Optional = true; }
/// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("mesh", "mesh", "Mesh to flip.", GH_ParamAccess.item); pManager.AddBooleanParameter("vertexNormalss", "vertexNorms", "", GH_ParamAccess.item, true); pManager.AddBooleanParameter("faceNormals", "faceNorms", "", GH_ParamAccess.item, true); pManager.AddBooleanParameter("faceOrientation", "faceOrient", "", GH_ParamAccess.item, true); }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Meshes", "Meshes", "Meshes", GH_ParamAccess.list); pManager.AddTextParameter("Names", "Names", "Names", GH_ParamAccess.list); pManager[1].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Meshes", "Meshes", "Meshes to include in the CFD domain", GH_ParamAccess.list); pManager.AddIntegerParameter("Domain Type", "Domain Type", "Domain type. Choose between: 0: 3D domain, 1: 2D domain.", GH_ParamAccess.item, 0); pManager.AddNumberParameter("Cell Size", "Cell Size", "Base Cell Size throughout the domain.", GH_ParamAccess.item); pManager.AddBooleanParameter("Align Bottom", "Align Bottom", "Sets whether the bottom of the domain should align with the bottom of the geometry or the domain should have the same center as the geometry.", GH_ParamAccess.item, true); pManager.AddBooleanParameter("Center XY", "Center XY", "centerXY", GH_ParamAccess.item, true); pManager.AddBooleanParameter("Square", "Square", "Whether the domain should be square or not.", GH_ParamAccess.item, true); pManager.AddNumberParameter("XY Scale", "XY Scale", "Scale in the X and Y directions", GH_ParamAccess.item, 3); pManager.AddNumberParameter("XY Offset", "XY Offset", "Offset in the X and Y directions", GH_ParamAccess.item, 1.0); pManager.AddNumberParameter("Z Scale", "Z Scale", "Scale in the Z direction. Recommended value is 5m", GH_ParamAccess.item, 5.0); pManager.AddPlaneParameter("Plane", "Plane", "Plane for creating a 2D domain. Is not used if you create a 3D Domain", GH_ParamAccess.item); pManager[3].Optional = true; pManager[4].Optional = true; pManager[5].Optional = true; pManager[6].Optional = true; pManager[7].Optional = true; pManager[8].Optional = true; pManager[9].Optional = true; AddNamedValues(pManager[1] as Param_Integer, DomainTypes); }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "M", "Mesh.", GH_ParamAccess.item); pManager.AddNumberParameter("Nozzle diameter", "D", "Nozzle diameter", GH_ParamAccess.item); pManager.AddNumberParameter("Layer height", "H", "Layer height", GH_ParamAccess.item); pManager.AddIntervalParameter("Region", "R", "Region", GH_ParamAccess.item); }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "M", "The terrain mesh", GH_ParamAccess.item); pManager[0].Optional = false; pManager.AddVectorParameter("Aspect", "A", "Vector representing the direction to measure aspect against", GH_ParamAccess.item, new Vector3d(0, 1, 0)); pManager[1].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Bricks", "B", "Input brick meshs", GH_ParamAccess.list); pManager.AddPointParameter("Center", "C", "Center of robot", GH_ParamAccess.item); pManager.AddNumberParameter("MortarThickness", "MT", "Thickness of mortar", GH_ParamAccess.item, 8); pManager.AddNumberParameter("zTolerence", "T", "Tolerence of a floor of bricks", GH_ParamAccess.item, 0.1); }
/// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "Mesh", "Mesh to save", GH_ParamAccess.item); pManager.AddTextParameter("File Path", "Path", "File path to save the mesh to", GH_ParamAccess.item); pManager.AddTextParameter("File Name", "Name", "File name to use for the mesh", GH_ParamAccess.item); pManager.AddBooleanParameter("Save", "Save", "Save mesh", GH_ParamAccess.item); pManager[3].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Geometry", "G", "The geometry to preview (will be converted to Mesh)", GH_ParamAccess.item); pManager.AddColourParameter("Front Face Color", "F", "The front face color", GH_ParamAccess.item, Color.Gray); pManager.AddColourParameter("Back Face Color", "B", "The back face color", GH_ParamAccess.item, Color.Red); }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "M", "Base landscape form (as a mesh) for the flow calculation", GH_ParamAccess.item); pManager.AddPointParameter("Points", "P", "Start points for the flow paths. These should be above the mesh (they will be projected on to it)", GH_ParamAccess.list); pManager.AddNumberParameter("Fidelity", "F", "Amount to move for each flow iteration. Small numbers may take a long time to compute. If not specified or set to 0 a (hopefully) sensible step size will be calculated.", GH_ParamAccess.item, 0); pManager[2].Optional = true; pManager.AddIntegerParameter("Steps", "L", "A limit to the number of flow iterations. Leave unset or to 0 for an unlimited set of iterations", GH_ParamAccess.item, 0); pManager[3].Optional = true; pManager.AddBooleanParameter("Thread", "T", "Whether to multithread the solution (this can speed up long calculations)", GH_ParamAccess.item, false); pManager[4].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddTextParameter("Name", "N", "Tool name", GH_ParamAccess.item, "DefaultGHTool"); pManager.AddPlaneParameter("TCP", "P", "TCP plane", GH_ParamAccess.item, Plane.WorldXY); pManager.AddPlaneParameter("Calibration", "4", "Optional 4 point TCP calibration. Orient the tool in 4 different ways around the same point in space and input the 4 planes that correspond to the flange", GH_ParamAccess.list); pManager.AddNumberParameter("Weight", "W", "Tool weight in kg", GH_ParamAccess.item, 0.0); pManager.AddPointParameter("Centroid", "C", "Optional tool center of mass", GH_ParamAccess.item); pManager.AddMeshParameter("Mesh", "M", "Tool geometry", GH_ParamAccess.item); pManager[2].Optional = true; pManager[4].Optional = true; pManager[5].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddTextParameter("Name", "N", "Tool name", GH_ParamAccess.item, "DefaultGHTool"); pManager.AddPlaneParameter("TCP", "P", "TCP plane", GH_ParamAccess.item, Plane.WorldXY); pManager.AddPlaneParameter("Calibration", "4", "Optional 4 point TCP calibration. Orient the tool in 4 different ways around the same point in space and input the 4 planes that correspond to the flange", GH_ParamAccess.list); pManager.AddNumberParameter("Weight", "W", "Tool weight in kg", GH_ParamAccess.item, 0.0); pManager.AddPointParameter("Centroid", "C", "Optional tool center of mass", GH_ParamAccess.item); pManager.AddMeshParameter("Mesh", "M", "Tool geometry", GH_ParamAccess.item); pManager[2].Optional = true; pManager[4].Optional = true; pManager[5].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Meshes", "Meshes", "Meshes", GH_ParamAccess.list); pManager.AddTextParameter("Location", "Location", "Location (inside|outside)", GH_ParamAccess.item, "inside"); pManager.AddIntegerParameter("Min Level", "Min Level", "Minimum Refinement Level", GH_ParamAccess.item, 1); pManager.AddIntegerParameter("Max Level", "Max Level", "Maximum Refinement Level", GH_ParamAccess.item, 1); pManager[1].Optional = true; pManager[2].Optional = true; pManager[3].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddParameter(new ProgramParameter(), "Program", "P", "Program", GH_ParamAccess.item); pManager.AddIntegerParameter("First set", "A", "First set of objects. Input a list of index values that correspond to the first collision group. The order is the same as the meshes output of the kinematics component. The environment would be an additional last mesh.", GH_ParamAccess.list, new int[] { 7 }); pManager.AddIntegerParameter("Second set", "B", "Second set of objects. Input a list of index values that correspond to the second collision group. The order is the same as the meshes output of the kinematics component. The environment would be an additional last mesh.", GH_ParamAccess.list, new int[] { 4 }); pManager.AddMeshParameter("Environment", "E", "Single mesh object representing the environment", GH_ParamAccess.item); pManager.AddIntegerParameter("Environment plane", "P", "If attached to the robot, plane index where the environment is attached to", GH_ParamAccess.item, -1); pManager.AddNumberParameter("Linear step size", "Ls", "Linear step size in mm to check for collisions", GH_ParamAccess.item, 100); pManager.AddNumberParameter("Angular step size", "As", "Angular step size in rad to check for collisions", GH_ParamAccess.item, PI / 4); pManager[3].Optional = true; }
/// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddTextParameter("Input", "Input", "Input from previous Compute Component", GH_ParamAccess.item); pManager.AddMeshParameter("Mesh", "Mesh", "Case Geometry as a list of meshes", GH_ParamAccess.list); pManager.AddTextParameter("Folder", "Folder", "If running a HoneyBee case, connect the path of the case to here.", GH_ParamAccess.item); pManager.AddBooleanParameter("Compute", "Compute", "Run the case on Procedural Compute", GH_ParamAccess.item, false); pManager[1].Optional = true; pManager[2].Optional = true; pManager[3].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Meshes", "Meshes", "Meshes to apply mesh level to.", GH_ParamAccess.list); pManager.AddIntegerParameter("Mesh Levels", "Levels", "Surface Mesh Level. Set the mesh level on the surface of the meshes. " + "The first number provided will be the Min Level and the second will be the Max Level. " + "If only one number is provided then Min and Max will be set as the same.", GH_ParamAccess.list); pManager.AddNumberParameter("Mesh Resolution", "Resolution", "Resolution of the meshes in meters. This input is used only if Levels doesn't have a input.", GH_ParamAccess.item); pManager[1].Optional = true; pManager[2].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "Mesh", "Mesh", GH_ParamAccess.item); pManager.AddBooleanParameter("Reset", "Reset", "Reset", GH_ParamAccess.item); pManager.AddBooleanParameter("Grow", "Grow", "Grow", GH_ParamAccess.item); pManager.AddNumberParameter("FacadeVertexCount", "FacadeVertexCount", "FacadeVertexCount", GH_ParamAccess.item); pManager.AddNumberParameter("SlabVertexCount", "SlabVertexCount", "SlabVertexCount", GH_ParamAccess.item); pManager.AddNumberParameter("CollisionRange", "CollisionRange", "CollisionRange", GH_ParamAccess.item); pManager.AddNumberParameter("FloortoFloor", "FloortoFloor", "FloortoFloor", GH_ParamAccess.item); pManager.AddNumberParameter("CeilingOffset", "CeilingOffset", "CeilingOffset", GH_ParamAccess.item); pManager.AddNumberParameter("MaxHeight", "MaxHeight", "MaxHeight", GH_ParamAccess.item); pManager.AddNumberParameter("VerticalWeight", "VerticalWeight", "VerticalWeight", GH_ParamAccess.item); pManager.AddNumberParameter("UniformWeight", "UniformWeight", "UniformWeight", GH_ParamAccess.item); }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Boundary mesh", "B", "Boundary mesh.", GH_ParamAccess.item); pManager.AddNumberParameter("Voxel size", "S", "Length of the voxel edges.", GH_ParamAccess.item); pManager.AddCurveParameter("Curves for alignment", "A", "Curves for alignment.", GH_ParamAccess.list); pManager.AddNumberParameter("Alignment max distance", "Ad", "The weighted average direction of curves within this distance will be used. If no curves are within this distance the voxel is removed. Use 0 for closest curve only.", GH_ParamAccess.item); pManager.AddGenericParameter("Attractors for types", "D", "Types are selected based on the distance to this geometry. Only points and curves are supported.", GH_ParamAccess.list); pManager.AddNumberParameter("Attractors max distance", "Dd", "Max distance for the last type.", GH_ParamAccess.item); pManager.AddGeometryParameter("Face types", "Ft", "Face types. Only one geometry object per type. If a type consists on multiple objects, use a group object.", GH_ParamAccess.list); pManager.AddGeometryParameter("Edge types", "Et", "Edge types.", GH_ParamAccess.list); pManager.AddGeometryParameter("Corner types", "Ct", "Corner types.", GH_ParamAccess.list); pManager[6].Optional = true; pManager[7].Optional = true; pManager[8].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "Mesh", "Mesh", GH_ParamAccess.item); pManager.AddIntegerParameter("CurvatureType", "CurvatureType", "0 = Min, 1 = Max, 2 = Gaussian, 3 = Mean, 4 = Absolute, 5 = Difference, 6 = Rms ", GH_ParamAccess.item, 3); //pManager.AddBooleanParameter("Ring / Sphere", "Ring / Sphere", "Ring = true, Sphere = false", GH_ParamAccess.item, true); pManager.AddNumberParameter(" Radius", " Radius", " Radius", GH_ParamAccess.item, 2); pManager.AddIntegerParameter("Method", "Method", "0 = Quadratic fitting 3 coefficients, 1 = Quadratic fitting 4 coefficients, 2 = Quadratic fitting 6 coefficients, 3 = Cubic fitting 7 coefficients ", GH_ParamAccess.item, 1); //pManager.AddBooleanParameter("Static", "Static", "Static", GH_ParamAccess.item, false); pManager.AddIntervalParameter("Interval", "Interval", "Interval", GH_ParamAccess.item, new Interval(0, 0)); pManager.AddColourParameter("3Colors", "3Colors", "3 colors", GH_ParamAccess.list); pManager.AddBooleanParameter("On", "On", "On", GH_ParamAccess.item, true); pManager[0].Optional = true; pManager[4].Optional = true; pManager[5].Optional = true; pManager[6].Optional = true; }
/// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "Mesh", "Mesh to recolor", GH_ParamAccess.item); pManager.AddNumberParameter("Result", "Result", "Result with the same number of faces as mesh", GH_ParamAccess.list); pManager.AddColourParameter("List Of Colors", "Colors", "List of colours", GH_ParamAccess.list); pManager.AddNumberParameter("Lower Boundary", "LowBound", "Optional lower bound for the coloring. Default is 0.0", GH_ParamAccess.item); pManager.AddNumberParameter("Upper Boundary", "UpperBound", "Optional upper bound for the coloring. Default is the max value of Result.", GH_ParamAccess.item); pManager.AddIntegerParameter("Segments", "Segments", "Number of segments to divide the output colors in.", GH_ParamAccess.item, 10); pManager[3].Optional = true; pManager[4].Optional = true; pManager[5].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("地形", "Mt", "要进行坡向分析的山地地形网格", GH_ParamAccess.item); pManager.AddColourParameter("色彩", "C", "各向的色彩,请按上、北、东北、东、东南、南、西南、西、西北的顺序连入9个色彩", GH_ParamAccess.list, new List <Color> { Color.FromArgb(219, 219, 219), Color.FromArgb(232, 77, 77), Color.FromArgb(230, 168, 55), Color.FromArgb(227, 227, 59), Color.FromArgb(49, 222, 49), Color.FromArgb(39, 219, 189), Color.FromArgb(51, 162, 222), Color.FromArgb(48, 48, 217), Color.FromArgb(217, 46, 217) }); }
/// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddTextParameter("Input", "Input", "Input from previous Compute Component", GH_ParamAccess.item); pManager.AddPointParameter("Points", "Points", "Points to create the sample sets from.", GH_ParamAccess.tree); pManager.AddTextParameter("Names", "Names", "Give names to each branch of in the points tree. The names can later be used to identify the points.", GH_ParamAccess.list); pManager.AddTextParameter("Fields", "Fields", "Choose which fields to probe. Default is U", GH_ParamAccess.list); pManager.AddMeshParameter("Mesh", "Mesh", "Input your analysis mesh here, if you wish to visualize your results in the browser", GH_ParamAccess.tree); pManager.AddIntegerParameter("CPUs", "CPUs", "CPUs to use. Valid choices are:\n1, 2, 4, 8, 16, 18, 24, 36, 48, 64, 72, 96. \nIn most cases it is not advised to use more CPUs than 1, as the time it takes to decompose and reconstruct the case will exceed the speed-up gained by multiprocessing the probing.", GH_ParamAccess.item, 1); pManager.AddTextParameter("DependentOn", "DependentOn", "By default the probe task is dependent on a wind tunnel task or a task running simpleFoam. If you want it to be dependent on another task. Please supply the name of that task here.", GH_ParamAccess.item, "VirtualWindTunnel"); pManager.AddTextParameter("Case Directory", "Case Dir", "Folder to probe on the Compute server. Default is VWT", GH_ParamAccess.item); pManager.AddTextParameter("Overrides", "Overrides", "Takes overrides in JSON format: \n" + "{\n\t\"FIELD\": \"VALUE\", ...\n}\n" + "Fields you can overwrite:\n" + "libs\n" + "executeControl\n" + "writeControl\n" + "interpolationScheme\n" + "setFormat", GH_ParamAccess.item); pManager.AddBooleanParameter("Create", "Create", "Whether to create a new probe task, if one doesn't exist. If the Probe task already exists, then this component will create a new task config, that will run after the previous config is finished.", GH_ParamAccess.item, false); pManager[2].Optional = true; pManager[3].Optional = true; pManager[4].Optional = true; pManager[5].Optional = true; pManager[6].Optional = true; pManager[7].Optional = true; pManager[8].Optional = true; pManager[9].Optional = true; }
/// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddTextParameter("Input", "Input", "Input from previous Compute Component", GH_ParamAccess.item); pManager.AddMeshParameter("Mesh", "Mesh", "Input your analysis mesh here, if you wish to visualize your results in the browser", GH_ParamAccess.tree); pManager.AddPointParameter("Points", "Points", "Probe points where you want to get radiation values.", GH_ParamAccess.tree); pManager.AddVectorParameter("Normals", "Normals", "Normals to the probe points given above.", GH_ParamAccess.tree); pManager.AddTextParameter("Names", "Names", "Give names to each branch of in the points tree. The names can later be used to identify the points.", GH_ParamAccess.list); pManager.AddBooleanParameter("Create", "Create", "Whether to create a new probe task, if one doesn't exist. If the Probe task already exists, then this component will create a new task config, that will run after the previous config is finished.", GH_ParamAccess.item, false); pManager[1].Optional = true; pManager[4].Optional = true; pManager[5].Optional = true; }
} //Flooded Terrain protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("地形", "Mt", "要被淹没的山地地形网格", GH_ParamAccess.item); pManager.AddNumberParameter("高度", "E", "淹没地形的水平面高度", GH_ParamAccess.item); pManager.AddColourParameter("色彩", "C", "被水淹没区域的色彩", GH_ParamAccess.item, Color.FromArgb(52, 58, 107)); }
} //Terrain Grade protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("地形", "Mt", "要进行坡度分析的山地地形网格", GH_ParamAccess.item); }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddParameter(new ProgramParameter(), "Program", "P", "Program", GH_ParamAccess.item); pManager.AddIntegerParameter("First set", "A", "First set of objects. Input a list of index values that correspond to the first collision group. The order is the same as the meshes output of the kinematics component. The environment would be an additional last mesh.", GH_ParamAccess.list, new int[] { 7 }); pManager.AddIntegerParameter("Second set", "B", "Second set of objects. Input a list of index values that correspond to the second collision group. The order is the same as the meshes output of the kinematics component. The environment would be an additional last mesh.", GH_ParamAccess.list, new int[] { 4 }); pManager.AddMeshParameter("Environment", "E", "Single mesh object representing the environment", GH_ParamAccess.item); pManager.AddIntegerParameter("Environment plane", "P", "If attached to the robot, plane index where the environment is attached to", GH_ParamAccess.item, -1); pManager.AddNumberParameter("Linear step size", "Ls", "Linear step size in mm to check for collisions", GH_ParamAccess.item, 100); pManager.AddNumberParameter("Angular step size", "As", "Angular step size in rad to check for collisions", GH_ParamAccess.item, PI / 4); pManager[3].Optional = true; }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "M", "Input Mesh", GH_ParamAccess.list); }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "M", "Single mesh with render colors.", GH_ParamAccess.item); pManager.AddTextParameter("File path", "F", "File path to a PNG image.", GH_ParamAccess.item); }
/// <summary> /// Registers all the input parameters for this component. /// </summary> protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("mesh", "mesh", "Mesh with vertices to align", GH_ParamAccess.item); pManager.AddNumberParameter("radius", "radius", "Vertex search radius", GH_ParamAccess.item, 1.0e-4); }
protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddMeshParameter("Mesh", "M", "Meshes whose outline to project", GH_ParamAccess.item); pManager.AddVectorParameter("Direction", "D", "Vector Direction to project", GH_ParamAccess.item); pManager.AddMeshParameter("PMesh", "PM", "Meshes to project on", GH_ParamAccess.list); }