//---------------------------------------------------------------------------------- //! Constructor //---------------------------------------------------------------------------------- WEMVolume::WEMVolume (std::string type) : WEMInspector(type) { ML_TRACE_IN("WEMVolume::WEMVolume()") FieldContainer *fields = getFieldContainer(); ML_CHECK(fields); // Suppress calls of handleNotification on field changes. handleNotificationOff(); // Add min, max volume, and corresponding index fields _minVolumeFld = fields->addFloat("minVolume"); _minVolumeFld->setFloatValue(0.0f); _maxVolumeFld = fields->addFloat("maxVolume"); _maxVolumeFld->setFloatValue(0.0f); _minVolumeIndexFld = fields->addInt("minVolumePatchIndex"); _minVolumeIndexFld->setIntValue(0); _maxVolumeIndexFld = fields->addInt("maxVolumePatchIndex"); _maxVolumeIndexFld->setIntValue(0); // Add output curve field _outputVolumeCurveFld = fields->addBase("outputVolumeCurve"); _outputVolumeCurveFld->setBaseValue(&_outputVolumeCurve); // Reactivate calls of handleNotification on field changes. handleNotificationOn(); }
//! Constructor ColoredMarkerListContainer::ColoredMarkerListContainer() : ListContainerTemplate<ColoredMarkerList>(0, 0) { ML_TRACE_IN("ColoredMarkerListContainer::ColoredMarkerListContainer(): ListContainerTemplate<ColoredMarkerList>(0, 0)"); FieldContainer *fields = getFieldContainer(); // Suppress handleNotification() _lockNotification = 1; // Position fields (_fldPos3D = fields->addVector3("posXYZ")) ->setVector3Value(Vector3(0)); (_fldPosC = fields->addFloat("posC")) ->setFloatValue(0); (_fldPosT = fields->addFloat("posT")) ->setFloatValue(0); (_fldPosU = fields->addFloat("posU")) ->setFloatValue(0); // Color fields (_fldColor = fields->addColor("color")) ->setColorValue(0,0,0); (_fldAlpha = fields->addFloat("alpha")) ->setFloatValue(1); _fldAlpha->setFloatMinValue(0); _fldAlpha->setFloatMaxValue(1); // Type field (_fldType = fields->addInt("type"))->setIntValue(0); // Template position fields (_fldNewPos3D = fields->addVector3("newPosXYZ")) ->setVector3Value(Vector3(0)); (_fldNewPosC = fields->addFloat("newPosC")) ->setFloatValue(0); (_fldNewPosT = fields->addFloat("newPosT")) ->setFloatValue(0); (_fldNewPosU = fields->addFloat("newPosU")) ->setFloatValue(0); // Template color fields (_fldNewColor = fields->addColor("newColor")) ->setColorValue(0,0,0); (_fldNewAlpha = fields->addFloat("newAlpha")) ->setFloatValue(1); _fldNewAlpha->setFloatMinValue(0); _fldNewAlpha->setFloatMaxValue(1); // Template Type field (_fldNewType = fields->addInt("newType"))->setIntValue(0); // Template Enable handleNotification() _lockNotification = 0; }
CSODistance::CSODistance() : BaseOp(0, 0) { ML_TRACE_IN("CSODistance::CSODistance(int numInImages, int numOutImages) : BaseOp(numInImages, numOutImages)"); handleNotificationOff(); _csoList0 = NULL; _csoList1 = NULL; _tableHeader = "Id1,Id2,min,max,mean,stdDev"; FieldContainer* fieldC = getFieldContainer(); ML_CHECK(fieldC); (_input0CSOFld = fieldC->addBase("inCSOList"))->setBaseValue(NULL); (_input1CSOFld = fieldC->addBase("inCSOList1"))->setBaseValue(NULL); ////////////////////////////////////////////////////////////////////////// char* distanceModes[LASTMODE]; distanceModes[ FIRST2 ] = "First 2 CSOs"; distanceModes[ INPLANE ] = "Match in plane"; distanceModes[ INDEX ] = "Match index"; _modeFld = fieldC->addEnum("mode",distanceModes,LASTMODE); _modeFld->setEnumValue( FIRST2 ); ////////////////////////////////////////////////////////////////////////// (_minimumDistanceFld = fieldC->addFloat("minimumDistance"))->setFloatValue(0); (_minimumDistancePoint1Fld = fieldC->addVec3f("minimumDistancePoint1"))->setVec3fValue(vec3(0.0,0.0,0.0)); (_minimumDistancePoint2Fld = fieldC->addVec3f("minimumDistancePoint2"))->setVec3fValue(vec3(0.0,0.0,0.0)); _distancesFld = addString("distances",_tableHeader ); _AverageMinimumDistanceFld = addDouble("averageMinimumDistance", 0.0 ); _AverageMeanDistanceFld = addDouble("averageMeanDistance", 0.0 ); _AverageMaxDistanceFld = addDouble("averageMaximumDistance", 0.0 ); ////////////////////////////////////////////////////////////////////////// _tolleranceFld = addDouble("tollerance", 0.0001 ); ////////////////////////////////////////////////////////////////////////// _applyFld = fieldC->addNotify("apply"); (_autoApplyFld = fieldC->addBool("autoApply"))->setBoolValue(true); _statusFld = fieldC->addString("status"); _statusFld->setStringValue("Ready"); ////////////////////////////////////////////////////////////////////////// (_listenToRepaintNotificationsFld = fieldC->addBool("listenToRepaintNotifications")) ->setBoolValue(false); (_listenToFinishingNotificationsFld = fieldC->addBool("listenToFinishingNotifications")) ->setBoolValue(true); (_listenToSelectionChangedNotificationsFld = fieldC->addBool("listenToSelectionChangedNotifications")) ->setBoolValue(false); char* statisticsNames[LASTSTATISTIC]; statisticsNames[ MIN ] = "Minimum"; statisticsNames[ MAX ] = "Maximum"; statisticsNames[ MEAN ] = "Mean"; statisticsNames[ STDEV ] = "StDev"; _curveStatistic = addEnum("curveStatistic",statisticsNames,LASTSTATISTIC ); _isInNotificationCB = false; ML_CHECK_NEW(_outputXMarkerList,XMarkerList()); (_outputXMarkerListFld = getFieldContainer()->addBase("outputXMarkerList"))->setBaseValue(NULL); _outputCurveList = new CurveList; (_outputCurveListFld = getFieldContainer()->addBase("outputCurveList"))->setBaseValue( _outputCurveList ); handleNotificationOn(); }