CFDRangeNodeDataSynopsisThe CFDRangeNodeData module processes multi-block data, setting the min/max elements of each block to either the true global values or to user-defined values.
module CFDRangeNodeData <src_file="cfdrange.c"> {
Node_Data+read+notify+req &in <NEportLevels={2,0}>[];
CFDRangeParams &CFDRangeParams <NEportLevels={2,0}>;
double+read+notify+req min => CFDRangeParams.min;
double+read+notify+req max => CFDRangeParams.max;
int+read+notify+req lock_mode => CFDRangeParams.lock_mode;
int nblocks => array_size(in);
Node_Data+write+nonotify+OPort2 out[nblocks] => in;
omethod+notify_val+notify_inst update <status=1> = "cfd_range_update";
};
DescriptionThe CFDRangeNodeData module is a true multi-block module, the C code takes an array of blocks in and out. Actually, the output is CONNECTED to the input in V, so this is a pure reference pass-through module. It modifies the data inplace. If locked mode is off, it scans ALL the data in ALL the blocks, and finds each data component range. It then SETS the min/max subelement in EACH block to be this value, to force global consistancy. The first data element in the first component is shown on the user-interface. If lock mode is on, then the user type-in values on the interface or parameter block are used to force this range on all data components. This is likely to work best on just a single component, and is intended to have extract_component_ARR upstream. Inputs&in The input mult-block array of NodeData. &CFDRangeParams Reference to the parameter block, which contains real instances of the min, max and lock_mode parameters. min User-defined min value for data if lock_mode is on. max User-defined max value for data if lock_mode is on. lock_mode Toggle the lock_mode. If on, the min/max values of the multi-block data is set to the user-defined values. If off, the true global value from the input blocks is used. Outputsout The output multi-block node data array with the min/max subelements set accordingly. Utility MacrosThe user interface is provided in the CFDRangeUI macro, and this is combined with the low-level CFDRangeNodeData module to form the User Macro cfd_range. ExampleAn example application is not provided. Filesiac_proj/cfdrange/cfdrmods.v contains the CFDRangeParams group and the CFDRangeNodeData module V definitions. Other NotesThe low-level CFDRangeMods library containing the module CDFRangeNodeData does not specify a process. By default the express process will be used. Authors
Ian Curington Modifications
Paul G. Lever Contact
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL See AlsoCFDRangeParams, CFDRangeUI, cfd_range |