Пример #1
0
//----------------------------------------------------------------------------------
//! 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;
}
Пример #3
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();
}