//---------------------------------------------------------------------------------- //! Constructor //---------------------------------------------------------------------------------- SyncFields::SyncFields () : BaseOp(0, 0) { ML_TRACE_IN("SyncFields::SyncFields ()"); handleNotificationOff(); FieldContainer *fieldC = getFieldContainer(); const char* syncModes[] = {"Float","MultiFloat","Vector","MultiVector"}; f_Mode = fieldC->addEnum("mode",syncModes,4); f_Mode->setEnumValue( FLOAT ); f_On = fieldC->addBool("on"); f_On->setBoolValue( true ); f_Precision = fieldC->addDouble("precision"); f_Precision->setDoubleValue( 1e-3f ); for (unsigned int iFloat=0; iFloat < NFIELDS; ++iFloat ){ std::stringstream ss; ss << iFloat; std::string currentName = "float" + ss.str(); m_FloatsFields.push_back(fieldC->addDouble(currentName.c_str()) ); m_FloatsFields[iFloat]->setDoubleValue( 0.0f ); } for (unsigned int iVector =0; iVector < NFIELDS; ++iVector ){ std::stringstream ss; ss << iVector; std::string currentName = "vector" + ss.str(); m_Vec6Fields.push_back( fieldC->addVec6f(currentName.c_str()) ); m_Vec6Fields[iVector]->setVec6fValue( vec6() ); } m_Updating = false; handleNotificationOn(); }
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(); }