Read only node to calculate formulas on the client side with integer arithmetic. More...
Inherits IntegerBaseNode, and ISwissKnifeNode< IntegerBaseNode >.
Public Member Functions | |
IntSwissKnifeNode (string name) | |
Creates a new IntSwissKnifeNode with the given name . More... | |
IntSwissKnifeNode (string name, Namespace nameSpace) | |
Creates a new IntSwissKnifeNode with the given name and nameSpace . More... | |
Public Member Functions inherited from IntegerBaseNode | |
override void | FromString (string value) |
Sets this node's value from the string value . More... | |
override string | ToString () |
Gets the string representation of this node. More... | |
abstract void | FromString (string value) |
Sets the value of the node from the string value . More... | |
Public Member Functions inherited from Node | |
void | Dispose () |
Disposes the native object wrapped by this object immediately. More... | |
void | FromString (string value) |
Sets this node's value from the string value . More... | |
Protected Member Functions | |
override void | Dispose (bool disposing) |
IDispose helper function. | |
override AccessMode | GetAccessMode () |
Swiss knifes are always read only. More... | |
override CacheMode | GetCacheMode () |
Here we may have multiple ones and can give no sane answer. More... | |
override TimeSpan | GetPollingTime () |
Always time span zero as there may be multiple values. More... | |
Protected Member Functions inherited from SelectorNode | |
SelectorNode (IntPtr handle) | |
Creates this SelectorNode object. More... | |
override void | Dispose (bool disposing) |
IDispose helper function. | |
Protected Member Functions inherited from ValueNode | |
ValueNode (IntPtr handle) | |
Creates the ValueNode. More... | |
override void | Dispose (bool disposing) |
Additionally disposes of the registered events. More... | |
abstract TimeSpan | GetPollingTime () |
Gets the polling time for this node. More... | |
int | OnRead () |
Calls the Read event and returns the ErrorCodes to deliver to the native server. More... | |
int | OnWritten () |
Calls the Written event and returns the ErrorCodes to deliver to the native server. More... | |
Protected Member Functions inherited from Node | |
Node (IntPtr handle) | |
Creates a node from the given handle . More... | |
virtual void | Dispose (bool disposing) |
IDispose helper function. More... | |
abstract AccessMode | GetAccessMode () |
Implementation for getting the access mode. More... | |
abstract CacheMode | GetCacheMode () |
Gets the current (dependent) cache mode of this node. More... | |
Properties | |
override NodeMap | NodeMap [get, set] |
Gets the INodeMap this node resides in. | |
NodeDictionary< IntegerBaseNode > | Variables [get] |
Dictionary containing all variables of this node. More... | |
string | Formula [get, set] |
Formula that is evaluated when the value is read. More... | |
Properties inherited from IntegerBaseNode | |
long | Increment [get] |
Gets the increment of this Value. More... | |
long | Max [get] |
Gets the maximal allowed number for this Value. | |
long | Min [get] |
Gets the minimal allowed number for this Value. | |
NumberRepresentation | Representation [get, set] |
Gets or sets how the value is to be represented. | |
string | Unit [get] |
Gets the unit of this node's value. | |
long | Value [get, set] |
Gets/Sets the value of this integer node. | |
Properties inherited from SelectorNode | |
override NodeMap | NodeMap [get, set] |
Gets the INodeMap this node resides in. | |
bool | IsSelector [get] |
Gets whether this node selects at least one other. | |
ICollection< ValueNode > | SelectedNodes [get] |
Gets the collection of all nodes selected by this one. More... | |
Properties inherited from ValueNode | |
virtual bool | IsStreamable [get, set] |
Gets or sets whether this node should be used, when the camera settings are stored. | |
TimeSpan | PollingTime [get] |
Gets the polling time of this value. More... | |
Properties inherited from Node | |
IntPtr | Handle [get] |
Native CVB GevServer Node handle. More... | |
bool | IsDisposed [get] |
Tests whether the native handle has been disposed. | |
virtual NodeMap | NodeMap [get, set] |
Gets the parent Cvb.GevServer.NodeMap of this GevServerNode. More... | |
string | ToolTip [get, set] |
Gets or sets the short descriptive text of this node. More... | |
string | Description [get, set] |
Gets or sets the long descriptive text of this node. More... | |
AccessMode | AccessMode [get] |
Gets the GenApi.AccessMode of this node. | |
AccessMode? | ImposedAccessMode [get, set] |
Overrides the node's default AccessMode. More... | |
IntegerBaseNode | IsImplementedConfig [get, set] |
Gets or sets the node that specifies whether a node is implemented in the device or not. More... | |
IntegerBaseNode | IsAvailableConfig [get, set] |
Gets or sets the node that specifies whether a node is currently available or not. More... | |
IntegerBaseNode | IsLockedConfig [get, set] |
Gets or sets the node that specifies whether a node is currently read only or not. More... | |
CacheMode | CacheMode [get] |
Gets the cache mode of this node. More... | |
Visibility | Visibility [get, set] |
Gets or sets the complexity level of this node. More... | |
Node | AliasNode [get, set] |
Gets or sets the node that is an alias value for this node. More... | |
string | Name [get] |
Gets the full name of this node. More... | |
Namespace | Namespace [get] |
Gets the namespace this node is in. More... | |
bool | IsImplemented [get] |
AccessMode helper to check whether this node is implemented. | |
bool | IsAvailable [get] |
AccessMode helper to check whether this node is available. | |
bool | IsReadable [get] |
AccessMode helper to check whether this node is readable. | |
bool | IsWritable [get] |
AccessMode helper to check whether this node is writable. | |
string | EventID [get] |
Nodes with an event identifier may become invalidated if an event/message is delivered from the device. | |
bool | IsFeature [get] |
Gets whether this node is considered a feature node. More... | |
bool | IsDeprecated [get] |
Gets whether this node is considered deprecated. More... | |
Properties inherited from INativeHandle | |
IntPtr | Handle [get] |
The native handle of the object. | |
bool | IsDisposed [get] |
Possibility to check whether the object has already been disposed of. | |
Properties inherited from IConfigurableNode | |
new string | ToolTip [get, set] |
Gets or sets the short descriptive text of this node. More... | |
new string | Description [get, set] |
Gets or sets the long descriptive text of this node. More... | |
AccessMode? | ImposedAccessMode [get, set] |
Overrides the node's default AccessMode. More... | |
new Visibility | Visibility [get, set] |
Gets or sets the complexity level of this node. More... | |
new IConfigurableNode | AliasNode [get, set] |
Gets or sets the node that is an alias value for this node. More... | |
IConfigurableIntegerBaseNode | IsImplementedConfig [get, set] |
Gets or sets the node that specifies whether a node is implemented in the device or not. More... | |
IConfigurableIntegerBaseNode | IsAvailableConfig [get, set] |
Gets or sets the node that specifies whether a node is currently available or not. More... | |
IConfigurableIntegerBaseNode | IsLockedConfig [get, set] |
Gets or sets the node that specifies whether a node is currently read only or not. More... | |
Properties inherited from INode | |
INodeMap | NodeMap [get] |
Gets the INodeMap this node resides in. | |
string | Name [get] |
Gets the full name of this node. More... | |
string | ToolTip [get] |
Gets the short descriptive text of this node. More... | |
string | Description [get] |
Gets the long descriptive text of this node. More... | |
AccessMode | AccessMode [get] |
Gets the GenApi.AccessMode of this node. | |
bool | IsImplemented [get] |
AccessMode helper to check whether this node is implemented. | |
bool | IsAvailable [get] |
AccessMode helper to check whether this node is available. | |
bool | IsReadable [get] |
AccessMode helper to check whether this node is readable. | |
bool | IsWritable [get] |
AccessMode helper to check whether this node is writable. | |
CacheMode | CacheMode [get] |
Gets the cache mode of this node. More... | |
string | EventID [get] |
Nodes with an event identifier may become invalidated if an event/message is delivered from the device. | |
bool | IsFeature [get] |
Gets whether this node is considered a feature node. More... | |
bool | IsDeprecated [get] |
Gets whether this node is considered deprecated. More... | |
Visibility | Visibility [get] |
Gets the complexity level of this node. More... | |
INode | AliasNode [get] |
Gets the node that is an alias value for this node. More... | |
Properties inherited from IConfigurableValueNode | |
new bool | IsStreamable [get, set] |
Gets or sets whether this node should be used when the camera settings are stored. | |
Properties inherited from IValueNode | |
TimeSpan | PollingTime [get] |
Gets the polling time of this value. More... | |
bool | IsStreamable [get] |
Gets whether this node should be used when the camera settings are stored. | |
Properties inherited from IConfigurableSelectorNode | |
new ICollection< IConfigurableValueNode > | SelectedNodes [get] |
Gets the collection of all nodes selected by this one. More... | |
Properties inherited from ISelectorNode | |
bool | IsSelector [get] |
Gets whether this node selects at least one other. | |
IEnumerable< IValueNode > | SelectedNodes [get] |
Gets all nodes selected by this one. More... | |
Properties inherited from IConfigurableIntegerBaseNode | |
new NumberRepresentation | Representation [get, set] |
Gets or sets how the value is to be represented. | |
Properties inherited from IIntegerNode | |
long | Value [get, set] |
Gets/Sets the value of this integer node. | |
long | Min [get] |
Gets the minimal allowed number for this Value. | |
long | Max [get] |
Gets the maximal allowed number for this Value. | |
long | Increment [get] |
Gets the increment of this Value. More... | |
NumberRepresentation | Representation [get] |
Gets how the value is to be represented. | |
string | Unit [get] |
Gets the unit of this node's value. | |
Properties inherited from ISwissKnifeNode< IntegerBaseNode > | |
IDictionary< string, TNode > | Variables [get] |
Dictionary containing all variables of this node. More... | |
string | Formula [get, set] |
Formula that is evaluated when the value is read. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from Node | |
static Namespace | ParseNamespace (string name) |
Gets the Namespace from the given name . More... | |
static string | ParseName (string name) |
Gets the name part of the given node name . More... | |
static string | EnsureNodeNameOnly (string name) |
Throws if the given name has a namespace prefix. More... | |
Events inherited from ValueNode | |
EventHandler< ReplyStatusEventArgs > | Read |
This event is fired when the client reads a value. More... | |
EventHandler< ReplyStatusEventArgs > | Written |
This event is fired when the client has written a value. | |
Events inherited from Node | |
NativeHandleEventDelegate | ObjectDisposing |
Raised when this object is about to be disposed via the IDisposable.Dispose method. More... | |
Events inherited from INativeHandle | |
NativeHandleEventDelegate | ObjectDisposing |
Raised when this object is about to be disposed via the IDisposable.Dispose method. More... | |
Read only node to calculate formulas on the client side with integer arithmetic.
Due to the integer arithmetic used in this node a Math.Floor(double) operation is performed after each calculation: The computation 2 * (3 / 2)
results to two and not three.
See the Formula property for available operations.
IntSwissKnifeNode | ( | string | name | ) |
Creates a new IntSwissKnifeNode with the given name .
If the name does not contain a namespace prefix the Namespace.Custom is used.
You must add this node to a NodeMap before most operations are possible.
name | Name with optional namespace prefix. |
IntSwissKnifeNode | ( | string | name, |
Namespace | nameSpace | ||
) |
Creates a new IntSwissKnifeNode with the given name and nameSpace .
You must add this node to a NodeMap before most operations are possible.
name | Node name without namespace prefix. |
nameSpace | Namespace to place the node in. |
|
protectedvirtual |
|
protectedvirtual |
Here we may have multiple ones and can give no sane answer.
Implements Node.
|
protectedvirtual |
|
getset |
Formula that is evaluated when the value is read.
Add the Variables before setting the formula as the formula's validity is checked on set.
The following operations are supported:
(, ) | brackets for grouping/overriding operator precedence: 3 * (2 + 3) results to 15. |
+, -, *, / | addition, subtraction, multiplication and devision: 3 * 7 + 4 / 2 results to 23. |
% | remainder: 7 % 4 results to 3. |
** | power: 2 ** 3 results to 8. |
&, |, ^, ~ | bitwise AND; OR, XOR and NOT: 2 | 1 results to 3. |
&&, || | logical AND and OR: 1 && 0 results to 0. |
<>, =, >, <, <=, >= | logical UNEQUAL, EQUAL, GREATER, LESS, LESS OR EQUAL and GREATER OR EQUAL: 3 >= 2 results to 1. |
<<, >> | shift left and shift right: 1 << 2 results to 4. |
? : | conditional operator <condition> ? <true case> : <false case> . |
SGN | Signum function: -1 if value smaller than 0; 0 if value equal to 0; 1 if value greater than 0: SGN(42) results to 1. |
NEG | Negative function: NEG(-42) results to 42. |
Keep in mind that a Math.Floor(double) operation is executed after each calculation. Logical operations result in 1 for true
and 0 for false
. Any number that is evaluated in a logical true
/false
condition is true
as long as it is not 0.
String containing the formula.
|
get |
Dictionary containing all variables of this node.
The variable names (the key of the dictionary) must consist only of capitalized alphabetical characters.
Dictionary where the key is the variable name and the value is the node holding the variables value.