Exemplo n.º 1
0
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            pManager.Register_IntegerParam("Step count", "Steps", "Number of steps to simulate per run of the simulation. 0 to run until integration is complete", 0);
            pManager.Register_DoubleParam("Tolerance", "Tol", "Distance from field where integration will halt. 0 to run until integration is complete", 10.0d);
            pManager.Register_BooleanParam("Stop", "Stop", "True if the integration will stop when the integration line has stopped or has wound past the stop winding angle", true);
            pManager.Register_DoubleParam("Winding Stop Angle", "StopA", "The winding angle is used to stop the integration if it winds around the set angle (radians). Used to stop the integration at singularities or orbits", 0.0d);
            pManager.Register_DoubleParam("Interpolation Radius", "IntrpR", "Radius to use in vector interpolation method. 0 to use closest vector only", 0.0d);
            pManager.Register_BRepParam("Bounding Brep", "Bound", "Bounding area to contain the integration within");
            pManager.Register_DoubleParam("Snapping Tolerance", "SnapT", "Tolerance range to test for snapping to the start point, used to detect and close orbits. 0 to disable check", 0.0d);
            pManager.Register_DoubleParam("Snapping Minimum Angle", "SnapA", "If snapping tolerance is set, this sets the minimum difference in angles before a snap occurs. 0 to disable check. Max is 1.", 0.0d);
            pManager.Register_SurfaceParam("Surface", "Surf", "Surface to constrain the integration to, the intergration will snap to this surface as it continues");
            pManager.Register_BooleanParam("Tensor Field", "Tensor", "Set to true if your input is actually a tensor field (list of planes)", false);
            pManager.Register_IntegerParam("Tensor Direction", "TensDir", "Which direction to integrate across if we're using a tensor field (0 = X, 1 = Y, 2 = Z)", 0.0d);
            pManager.Register_IntegerParam("Tensor Axes", "TensAxs", "Which Axes are used in the line continuity check, if enabled (0 = X, 1 = Y, 2 = Z)", GH_ParamAccess.list);
            pManager.Register_BooleanParam("Line Continuity", "LCont", "Force lines to follow a straighter path if one is available", false);

            pManager[0].Optional  = true;
            pManager[1].Optional  = true;
            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;
            pManager[10].Optional = true;
            pManager[11].Optional = true;
            pManager[12].Optional = true;
        }
Exemplo n.º 2
0
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            pManager.Register_PointParam("Point Field", "P", "List of points, where each point relates to a vector (parallel to V)", GH_ParamAccess.list);
            pManager.Register_VectorParam("Vector Field", "V", "List of vectors, where each vector relates to a point (parallel to P)", GH_ParamAccess.list);
            pManager.Register_GenericParam("Dynamics", "D", "List of dynamics to modify the vector field with", GH_ParamAccess.list);
            pManager.Register_SurfaceParam("Surface", "S", "Optional surface to create geodesic curves between points in space instead of direct lines");

            // vector field is optional, will create a field of 0 vectors if not present
            pManager[1].Optional = true;
            pManager[2].Optional = true;
            pManager[3].Optional = true;
        }
Exemplo n.º 3
0
        protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
        {
            pManager.Register_BooleanParam("Respawn", "Respawn", "True if the particles should be respawned when they reach the end of their lifetimes", true);
            pManager.Register_IntegerParam("New Spawn Step Count", "NewSpK", "Steps between spawning a new set of particles at the start points (0 to disable)", 0);
            pManager.Register_IntegerParam("Randomize New Spawn", "RndSp", "Randomly add or subtract up to this number from the new spawn time to create random distributions of particles (0 to disable)", 0);
            pManager.Register_DoubleParam("Interpolation Radius", "IntrpR", "Radius to use in vector interpolation method. 0 to use closest vector only", 0.0d);
            pManager.Register_BRepParam("Bounding Brep", "Bound", "Bounding area to contain the integration within");
            pManager.Register_DoubleParam("Snapping Tolerance", "SnapT", "Tolerance range to test for snapping to the start point, used to detect and close orbits. 0 to disable check", 0.0d);
            pManager.Register_DoubleParam("Snapping Minimum Angle", "SnapA", "If snapping tolerance is set, this sets the minimum difference in angles before a snap occurs. 0 to disable check. Max is 1.", 0.0d);
            pManager.Register_SurfaceParam("Surface", "Surf", "Surface to constrain the integration to, the intergration will snap to this surface as it continues");
            pManager.Register_BooleanParam("Line Continuity", "LCont", "Force lines to follow a straighter path if one is available", false);

            pManager[0].Optional = true;
            pManager[1].Optional = true;
            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;
        }
Exemplo n.º 4
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.Register_SurfaceParam("Surfaces", "S", "List of surfaces to prevent collisions with", GH_ParamAccess.list);
     pManager.Register_DoubleParam("Restitution", "R", "Restitution of the surfaces (Bounce factor) to apply when colliding with a surface", 1.0d);
 }
Exemplo n.º 5
0
 protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager)
 {
     pManager.Register_SurfaceParam("Surface", "S", "Surface to check for discontinuities.");
 }