Cube::Cube(int argc, char *argv[]) // vvvv --- this info appears in the module setup window : coModule(argc, argv, "Simple Cube Generation Module") { // output port // parameters: // port name // string to indicate connections, convention: name of the data type // description p_polyOut = addOutputPort("polygons", "Polygons", "polygons which form the cubes"); // input parameters // parameters: // parameter name // parameter type // description p_center = addFloatVectorParam("center", "Center of the cube"); cx = cy = cz = 0.0; p_center->setValue(cx, cy, cz); p_cusize = addFloatSliderParam("size", "Size of the cube"); sMin = 1.0; sMax = 100.0; sVal = 10.0; p_cusize->setValue(sMin, sMax, sVal); }
ExtendMesh2Rectangle::ExtendMesh2Rectangle() : coSimpleModule("Extend the mesh to fit into the specified rectangle.") , DEFAULT_MAXIMUM_(1e6) , xSize_(42.0) , ySize_(42.0) , radius_(-1.0) { p_in_geometry_ = addInputPort("in-polygons", "Polygons", "input mesh"); p_out_geometry_ = addOutputPort("out-polygons", "Polygons", "output mesh"); para_xSize_ = addFloatSliderParam("x-size", "x-size of the rectangle."); para_xSize_->setValue(0.0, DEFAULT_MAXIMUM_, xSize_); para_ySize_ = addFloatSliderParam("y-size", "y-size of the rectangle."); para_ySize_->setValue(0.0, DEFAULT_MAXIMUM_, ySize_); para_radius_ = addFloatSliderParam( "radius", "Radius of circle to use for intermediate mesh. " "If radius < 0.0 hold this feature is disabled."); para_radius_->setValue(-1.0, DEFAULT_MAXIMUM_, radius_); }
/// constructor coColorDistance::coColorDistance(int argc, char *argv[]) : coSimpleModule(argc, argv, "Compute distance to reference color") { // Create ports: piR = addInputPort("Red", "Float", "Scalar volume data (red channel)"); piR->setInfo("Scalar volume data (red channel)"); piG = addInputPort("Green", "Float", "Scalar volume data (green channel)"); piG->setInfo("Scalar volume data (green channel)"); piB = addInputPort("Blue", "Float", "Scalar volume data (blue channel)"); piB->setInfo("Scalar volume data (blue channel)"); poVolume = addOutputPort("Data", "Float", "Scalar volume data"); poVolume->setInfo("Scalar volume data (range 0-1)"); // Create parameters: paReferenceColor = addColorParam("ReferenceColor", "Color to which the distance is calculated"); paReferenceColor->setValue(0.0, 0.0, 0.0, 1); const char *cs[] = { "RGB", "HSV", "Hue-Saturation", "Hue" }; paColorSpace = addChoiceParam("ColorSpace", "Color space used for distance calculation"); paColorSpace->setValue(3, cs, 0); const char *metric[] = { "euclidian distance", "manhattan distance", "maximum" }; paMetric = addChoiceParam("Metric", "Metric for calculation of the distance for transparent values."); paMetric->setValue(3, metric, 0); paMinMax = addFloatVectorParam("MinMax", "Allowed range of distance.", 2); paMinMax->setValue(0, 0.); paMinMax->setValue(1, 1.); paSlider = addFloatSliderParam("DistanceBase", "This value is added to the calculated distance."); paSlider->setValue(-10, 10, 1); paSlider2 = addFloatSliderParam("DistanceMultiplier", "This value multiplies the calculated distance."); paSlider2->setValue(-10, 10, -1); }
TestSlider::TestSlider(int argc, char *argv[]) : coModule(argc, argv, "Simple TestSlider Generation Module") { p_polyOut = addOutputPort("polygons", "Polygons", "polygons which form the cubes"); p_center = addFloatVectorParam("center", "Center of the cube"); cx = cy = cz = 0.0; p_center->setValue(cx, cy, cz); p_cusize = addFloatSliderParam("size", "Size of the cube"); sMin = 1.0; sMax = 10.0; sVal = 2.0; p_cusize->setValue(sMin, sMax, sVal); }
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++ // ++++ Constructor : This will set up module port structure /// ++++ // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ParamTest::ParamTest(int argc, char *argv[]) : coSimpleModule(argc, argv, "Param Program: Show all parameter types") { //autoInitParam(0); // Immediate-mode String parameter stringImm = addStringParam("stringImm", "Immediate string"); stringImm->setValue("This is an immediate String Parameter"); // Immediate-mode Boolean parameter, pre-set to FALSE boolImm = addBooleanParam("boolImm", "Immediate coBooleanParam"); boolImm->setValue(0); iScalImm = addInt32Param("iScalImm", "Immediate coIntScalarParam"); iScalImm->setValue(123); fScalImm = addFloatParam("fScalImm", "Immediate coFloatParam"); fScalImm->setValue(-12.56f); // integer sliders: immediate and non-immediate iSlidImm = addIntSliderParam("iSlidImm", "Immediate coIntSliderParam"); iSlidImm->setValue(1, 27, 16); // float sliders: immediate and non-immediate fSlidImm = addFloatSliderParam("fSlidImm", "Immediate coFloatSliderParam"); fSlidImm->setValue(-10.0, 30.0, 0.0); // float vector: use default size of 3 and set with 3D setValue function fVectImm = addFloatVectorParam("fVectImm", "Immediate coFloatVectorParam"); fVectImm->setValue(1.34f, 1.889f, -99.87f); // it makes no sense to put a file selector in the switch, since // it is not displayed in the control panel browseImm = addFileBrowserParam("myFile", "a file browser"); browseImm->setValue("/var/tmp/whatever.txt", "*.txt"); browseImm->show(); browse = addFileBrowserParam("my2File", "a file browser"); browse->setValue("/var/tmp/whatever2.txt", "*.txt"); browse->show(); // Now this is a choice : we have the choice between 6 values const char *choiceVal[] = { "left lower inlet", "left upper inlet", "left center inlet", "right center inlet", "right lower Inlet", "right upper Inlet" }; choImm = addChoiceParam("choImm", "Nun auch noch Choices"); choImm->setValue(6, choiceVal, 1); // add an input port for 'coDoUnstructuredGrid' objects inPortReq = addInputPort("inputReq", "StructuredGrid", "Required input port"); // add another input port for 'coDoUnstructuredGrid' objects inPortNoReq = addInputPort("inputNoReq", "UnstructuredGrid", "Not required input port"); // tell that this port does not have to be connected inPortNoReq->setRequired(0); // add an output port for this type outPort = addOutputPort("outPort", "coDoUnstructuredGrid", "Output Port"); // and that's all ... no init() or anything else ... that's done in the lib }
void StarCD::createRegionParam() { int i; char buf[32]; p_region = paraSwitch("region", "Select inlet region"); for (i = 0; i < MAX_REGIONS; i++) { // create description and name sprintf(buf, "Region %d", i); // case for the Region switching paraCase(buf); // the 'usual parameters sprintf(buf, "local%d", i); p_euler[i] = addFloatVectorParam(buf, "Local Euler angles"); p_euler[i]->setActive(0); p_euler[i]->setValue(0.0, 0.0, 0.0); sprintf(buf, "vel%d", i); p_v[i] = addFloatVectorParam(buf, "Velocity"); p_v[i]->setActive(0); p_v[i]->setValue(0.0, 0.0, 0.0); sprintf(buf, "vmag%d", i); p_vmag[i] = addFloatSliderParam(buf, "V-Magnitude"); p_vmag[i]->setActive(0); p_vmag[i]->setValue(0.0, 1.01, 0.0); sprintf(buf, "t__%d", i); p_t[i] = addFloatSliderParam(buf, "Temperature"); p_t[i]->setValue(0.0, 40.0, 20.0); p_t[i]->setActive(0); sprintf(buf, "den%d", i); p_den[i] = addFloatSliderParam(buf, "Density"); p_den[i]->setActive(0); sprintf(buf, "p__%d", i); p_p[i] = addFloatSliderParam(buf, "Pressure"); p_p[i]->setActive(0); sprintf(buf, "k__%d", i); p_k[i] = addFloatSliderParam(buf, "k"); p_k[i]->setActive(0); sprintf(buf, "eps%d", i); p_eps[i] = addFloatSliderParam(buf, "Epsilon"); p_eps[i]->setActive(0); sprintf(buf, "tInt%d", i); p_tin[i] = addFloatSliderParam(buf, "Turb. Intens"); p_tin[i]->setActive(0); sprintf(buf, "tLen%d", i); p_len[i] = addFloatSliderParam(buf, "Turb. Length"); p_len[i]->setActive(0); // multiple scalars int j; //sprintf(buf,"scal%d",i); //p_scalSw[i] = paraSwitch(buf,"Select scalar"); //p_scalSw[i]->setActive(0); for (j = 0; j < MAX_SCALARS; j++) { sprintf(buf, "Scalar %d", j + 1); //paraCase(buf); sprintf(buf, "scal%d_%d", i, j + 1); p_scal[i][j] = addFloatSliderParam(buf, "Scalar"); p_scal[i][j]->setActive(0); //paraEndCase(); } //paraEndSwitch(); // multipla user data //sprintf(buf,"user%d",i); //p_userSw[i] = paraSwitch(buf,"Select UserData"); //p_userSw[i]->setActive(0); for (j = 0; j < MAX_SCALARS; j++) { sprintf(buf, "User %d", j + 1); //paraCase(buf); sprintf(buf, "user%d_%d", i, j + 1); p_user[i][j] = addFloatSliderParam(buf, "User Field"); p_user[i][j]->setActive(0); //paraEndCase(); } //paraEndSwitch(); /// region case ends here paraEndCase(); } paraEndSwitch(); }