config.h
Go to the documentation of this file.
00001 /*
00002  * This file is part of the rc_genicam_api package.
00003  *
00004  * Copyright (c) 2017 Roboception GmbH
00005  * All rights reserved
00006  *
00007  * Author: Heiko Hirschmueller
00008  *
00009  * Redistribution and use in source and binary forms, with or without
00010  * modification, are permitted provided that the following conditions are met:
00011  *
00012  * 1. Redistributions of source code must retain the above copyright notice,
00013  * this list of conditions and the following disclaimer.
00014  *
00015  * 2. Redistributions in binary form must reproduce the above copyright notice,
00016  * this list of conditions and the following disclaimer in the documentation
00017  * and/or other materials provided with the distribution.
00018  *
00019  * 3. Neither the name of the copyright holder nor the names of its contributors
00020  * may be used to endorse or promote products derived from this software without
00021  * specific prior written permission.
00022  *
00023  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00024  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00025  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00026  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
00027  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00028  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00029  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00030  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00031  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00032  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00033  * POSSIBILITY OF SUCH DAMAGE.
00034  */
00035 
00036 #ifndef RC_GENICAM_API_CONFIG
00037 #define RC_GENICAM_API_CONFIG
00038 
00039 #include <GenApi/GenApi.h>
00040 
00041 #include <memory>
00042 #include <string>
00043 #include <vector>
00044 
00045 /*
00046   This module provides convenience functions for setting and retrieving values
00047   from a GenICam nodemap.
00048 */
00049 
00050 namespace rcg
00051 {
00052 
00065 bool setBoolean(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00066                 bool value, bool exception=false);
00067 
00080 bool setInteger(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00081                 int64_t value, bool exception=false);
00082 
00095 bool setIPV4Address(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00096                     const char *value, bool exception);
00097 
00110 bool setFloat(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00111               double value, bool exception=false);
00112 
00125 bool setEnum(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00126              const char *value, bool exception=false);
00127 
00143 bool setString(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00144                const char *value, bool exception=false);
00145 
00156 bool getBoolean(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00157                 bool exception=false);
00158 
00174 int64_t getInteger(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00175                    int64_t *vmin=0, int64_t *vmax=0, bool exception=false);
00176 
00192 double getFloat(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00193                 double *vmin=0, double *vmax=0, bool exception=false);
00194 
00205 std::string getEnum(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00206                     bool exception=false);
00207 
00221 std::string getEnum(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00222                     std::vector<std::string> &list, bool exception=false);
00223 
00237 std::string getString(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00238                       bool exception=false);
00239 
00240 
00241 /*
00242   Checks the value of given feature and throws an exception in case of a mismatch.
00243   The check succeeds if the feature does not exist.
00244 
00245   @param nodemap Feature nodemap.
00246   @param name    Name of feature.
00247   @param value   Expected value of feature.
00248 */
00249 
00250 void checkFeature(const std::shared_ptr<GenApi::CNodeMapRef> &nodemap, const char *name,
00251                   const char *value);
00252 
00253 }
00254 
00255 #endif


rc_visard_driver
Author(s): Heiko Hirschmueller , Christian Emmerich , Felix Ruess
autogenerated on Thu Jun 6 2019 20:43:02