23#ifndef SO_INTERACTIVE_COMPLEXITY_H
24#define SO_INTERACTIVE_COMPLEXITY_H
26#include <Inventor/nodes/SoNode.h>
27#include <Inventor/fields/SoMFString.h>
28#include <Inventor/fields/SoSFEnum.h>
29#include <Inventor/fields/SoSFBool.h>
30#include <Inventor/fields/SoSFFloat.h>
32#include <Inventor/STL/map>
33#include <Inventor/sensors/SoAlarmSensor.h>
36#pragma warning( push )
37#pragma warning(disable:4251)
236 virtual void doAction(
SoAction *action);
243 virtual void notify(SoNotList *list);
245 static void initClass();
246 static void exitClass();
254 bool isBounded(
const SoField* field)
const;
266 typedef std::map<SbString, ScalarBounds> ScalarBoundsMap;
274 void updateFieldList();
275 void addParameters(
const SbString& paramString);
278 void handleScalarParam(
const SbString& paramString,
const std::vector<SbString>& token);
279 void handleBoolParam(
const SbString& paramString,
const std::vector<SbString>& token);
280 void handleEnumParam(
const SbString& paramString,
const std::vector<SbString>& token,
284 bool checkParamNumber(
size_t numParam,
size_t expected,
const SbString& fieldName)
const;
291 const SbString& classAndFieldName,
bool updateValue =
false);
294 void updateAllFieldsValue(
SoState* state);
298 static void sensorCB(
void *data,
SoSensor *sensor);
301 ScalarBoundsMap m_scalarBounds;
308#pragma warning( pop )
Class for smart character strings.
Abstract base class for all actions.
Triggers a delegate once sometime in the future.
Base class for all fields.
Renders a scene graph using Open Inventor's Render Engine.
Field interactive complexity node.
SoSFFloat refinementDelay
Time in seconds after interaction stops before field values start to be increased.
SoSFEnum interactiveMode
Interactive mode.
SoInteractiveComplexity()
InteractiveMode
Interactive mode.
@ AUTO
Automatically detect when a user interaction is occurring (default)
@ DISABLED
Behave like there isn't any SoInteractiveComplexity node.
@ FORCE_INTERACTION
Behave like a user interaction is occurring (always use InteractionValue)
@ FORCE_STILL
Behave like there isn't any interaction (always use StillValue)
SoMFString fieldSettings
Each string in this field specifies the interactionValue and stillValue for a specific field of a spe...
Multiple-value field containing any number of strings.
Abstract base class for all database nodes.
Field containing a single Boolean value.
Field containing an enumerated value.
Field containing a floating-point value.
Abstract base class for all single-value fields.
Abstract base class for Open Inventor sensors.