59 switch (node->GetAccessMode())
77 return "(undefined access mode)";
80 return "(cycle detection)";
93 switch (node->GetRepresentation())
96 out <<
"0x" << std::hex << value;
100 out << ((value>>24)&0xff) <<
'.' << ((value>>16)&0xff) <<
'.' 101 << ((value>>8)&0xff) <<
'.' << (value&0xff);
105 out << std::hex << ((value>>40)&0xff) <<
':' << ((value>>32)&0xff) <<
':' 106 << ((value>>24)&0xff) <<
':' << ((value>>16)&0xff) <<
':' 107 << ((value>>8)&0xff) <<
':' << (value&0xff);
120 if (node != 0 && node->GetAccessMode() !=
GenApi::NI)
122 switch (node->GetPrincipalInterfaceType())
125 std::cout << prefix <<
"Value: " << node->GetName() <<
" " << getAccessMode(node)
130 std::cout << prefix <<
"Base: " << node->GetName() <<
" " << getAccessMode(node)
136 std::cout << prefix <<
"Integer: " << node->GetName() <<
" " 137 << getAccessMode(node) <<
" ";
143 std::cout <<
"[" <<
formatValue(p, p->GetMin()) <<
", " 145 std::cout <<
formatValue(p, p->GetValue()) <<
" " << p->GetUnit();
148 std::cout << std::endl;
154 std::cout << prefix <<
"Boolean: " << node->GetName() <<
" " << getAccessMode(node);
160 std::cout <<
": " << p->GetValue();
163 std::cout << std::endl;
168 std::cout << prefix <<
"Command: " << node->GetName() <<
" " << getAccessMode(node)
174 std::cout << prefix <<
"Float: " << node->GetName() <<
" " << getAccessMode(node)
181 std::cout <<
"[" << p->GetMin() <<
", " 182 << p->GetMax() <<
"]: " 183 << p->GetValue() <<
" " << p->GetUnit();
186 std::cout << std::endl;
192 std::cout << prefix <<
"String: " << node->GetName() <<
" " << getAccessMode(node)
199 std::cout << p->GetValue();
202 std::cout << std::endl;
207 std::cout << prefix <<
"Register: " << node->GetName() <<
" " << getAccessMode(node)
213 std::cout << prefix <<
"Category: " << node->GetName() <<
" " 214 << getAccessMode(node) << std::endl;
222 GenApi::FeatureList_t feature;
223 root->GetFeatures(feature);
225 for (
size_t i=0; i<feature.size(); i++)
236 std::cout << prefix <<
"Enumeration: " << node->GetName() <<
" " << getAccessMode(node)
248 p->GetSymbolics(list);
250 for (
size_t i=0; i<list.size(); i++)
257 std::cout << list[i];
269 std::cout << p->GetCurrentEntry()->GetSymbolic();
273 std::cout << std::endl;
278 std::cout << prefix <<
"EnumEntry: " << node->GetName() <<
" " << getAccessMode(node)
283 std::cout << prefix <<
"Port: " << node->GetName() <<
" " << getAccessMode(node)
293 bool printNodemap(
const std::shared_ptr<GenApi::CNodeMapRef> &nodemap,
const char root[],
294 int depth,
bool show_enum_list)
301 printNode(std::string(
" "), p, depth, show_enum_list);
Hex number in an edit control.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IBoolean
Interface for Boolean properties.
GENICAM_INTERFACE IInteger
Interface for integer properties.
virtual INode * GetNode(const GENICAM_NAMESPACE::gcstring &Name) const =0
Retrieves the node from the central map by Name.
used internally for AccessMode cycle detection
bool IsReadable(EAccessMode AccessMode)
Tests if readable.
void printNode(const std::string &prefix, GenApi::INode *node, int depth, bool show_enum_list)
Recursive printing of nodes to standard out.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IEnumeration
Interface for enumeration properties.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT ICategory
Gives access to a category node.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IString
Interface for string properties.
Object is not yet initialized.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IFloat
Interface for float properties.
GENICAM_INTERFACE INode
Interface common to all nodes.
bool printNodemap(const std::shared_ptr< GenApi::CNodeMapRef > &nodemap, const char root[], int depth, bool show_enum_list)
Printing of nodemap, starting at given root node.
std::string formatValue(GenApi::IInteger *node, int64_t value)
Takes an integer value and formats it according to the specification in the node. ...
GENICAM_NAMESPACE::gcstring_vector StringList_t
A list of strings.