AURobotServers
4
|
#include <ufunctioncambase.h>
Public Member Functions | |
virtual void | createResources () |
UImage * | getImage (UServerInMsg *msg, void *extra) |
virtual bool | setResource (UResBase *ressource, bool remove) |
UFunctionCamBase () | |
virtual | ~UFunctionCamBase () |
Public Member Functions inherited from UFunctionImgBase | |
virtual void | setCmdHandler (UCmdExe *cmdExe) |
void | showImagesAsDefault (bool show) |
UFunctionImgBase () | |
virtual | ~UFunctionImgBase () |
Public Member Functions inherited from UFunctionBase | |
bool | addResource (UResBase *resource, UFunctionBase *owner) |
void | closeLogfile () |
virtual const char * | commandList () |
const char * | getAliasName () |
const char * | getLoadedFileName () |
void * | getLoadedModuleRef () |
virtual bool | gotAllResources (char *missingThese, int missingTheseCnt) |
bool | isMine (const char *cmdName) |
bool | isStatic () |
is the module loaded as static A module is static if the ldFilename has a length of zero. More... | |
virtual const char * | name () |
bool | newCmd (UServerInMsg *newMsg, UDataBase *extra) |
bool | newCommand (UServerInMsg *newMsg, void *extra) |
bool | openLogfile (const char *name) |
void | print (const char *preString) |
virtual void | resourceUpdated () |
bool | sendEndTag (UServerInMsg *msg) |
bool | sendEndTag () |
bool | sendFullTag (const char *attributes) |
bool | sendHelpDone (UServerInMsg *msg) |
bool | sendHelpDone () |
bool | sendHelpStart (UServerInMsg *msg, const char *subject) |
bool | sendHelpStart (const char *subject) |
bool | sendHelpStart () |
bool | sendMsg (UServerInMsg *msg, const char *message, int size) |
bool | sendMsg (const char *message) |
bool | sendMsg (UServerInMsg *msg, const char *message) |
bool | sendMsg (int clientIdx, const char *message, int size) |
bool | sendMsgInt (int clientIdx, const char *message) |
bool | sendStartTag (const char *attributes) |
bool | sendText (UServerInMsg *msg, const char *text) |
bool | sendText (const char *text) |
virtual void | setAliasName (const char *name) |
virtual void | setCommand (const char *cmdList, const char *name, const char *note) |
void | setLoadedModuleRef (void *module, const char *moduleFileName) |
virtual void | setLoadTime (UTime) |
void | setName (const char *name) |
void | setVerbose (bool value) |
UFunctionBase () | |
virtual | ~UFunctionBase () |
Public Member Functions inherited from UCallBack | |
bool | addOnEvent (UOnEvent *dataObject) |
virtual bool | onEvent (const char *interface, const char *dataType, void *data) |
UCallBack () | |
virtual | ~UCallBack () |
Public Member Functions inherited from UResVarPool | |
int | addMethod (const char *formalName, const char *paramTypes, const char *comment) |
int | addMethodV (const char *formalName, const char *paramTypes, const char *comment) |
UVarPool * | addStruct (const char *name, const char *comment, bool copy=false) |
UVariable * | addVar (const char *name, const double initialValue, const char *type, const char *comment) |
UVariable * | addVar (const char *name, const char *initialValue, const char *type, const char *comment) |
UVariable * | addVarA (const char *name, const char *initialValue, const char *type, const char *comment) |
bool | callGlobal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt) |
bool | callGlobalV (const char *name, const char *paramOrder, UVariable **params, UDataBase **returnStruct, int *returnStructCnt) |
Call a method from the root var pool scope It may be in the structure direct (no '.') or in any sub-structure that the 'name.subname' indicate. More... | |
bool | callLocal (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct, int *returnStructCnt) |
bool | callVS (const char *function, const char *stringParam) |
int | callVSCD (const char *function, const char *strPar, UDataBase *data, int cooSys) |
void | createBaseVar () |
virtual bool | createVarSpace (const int varCnt, const int structCnt, const int methCnt, const char *note, bool copy=false) |
bool | getGlobalString (const char *name, const char **value) |
bool | getGlobalValue (const char *name, double *value) |
bool | getGlobalValue (const char *name, const char **value) |
bool | getGlobalValue (const char *name, bool *value) |
bool | getGlobalValue (const char *name, UTime *value) |
bool | getLocalValue (const char *name, double *value) |
get a value in this variable tree More... | |
bool | getLocalValue (const char *name, bool *value) |
bool | getLocalValue (const char *name, UTime *value) |
double | getLocalValue (int idx) |
UPosition | getLocalValue3D (int idx) |
UPosRot | getLocalValue6D (int idx) |
bool | getLocalValueBool (int idx) |
int | getLocalValueInt (int idx) |
UTime | getLocalValueTime (int idx) |
const char * | getLogFileName () |
const char * | getVarDescription (int idx) |
UVarCalc * | getVarPool () |
bool | isLogFileOpen () |
bool | isLogFileOpen (const char *structName) |
bool | isVarPoolUpdated (int lastCnt, int *newCnt) |
void | logFileClose () |
bool | logFileOpen () |
void | logFileStart (const char *structName, bool open) |
virtual bool | methodCall (const char *name, const char *paramOrder, char **strings, const double *doubles, double *value, UDataBase **returnStruct=NULL, int *returnStructCnt=NULL) |
virtual const char * | print (const char *preString, char *buff, int buffCnt) |
bool | setGlobalVar (const char *name, const double value, bool mayAdd) |
Assigns a value to a variable. The variable may be a part of a structure. More... | |
bool | setLocalVar (int idx, double value, const int element) |
bool | setLocalVar (const char *name, const double value, bool mayAdd) |
Assigns a value to a variable. The variable may be a part of a structure. More... | |
bool | setLocalVar3D (int idx, UPosition *value) |
bool | setLocalVar6D (int idx, UPosRot *value) |
bool | setLocalVarAdd (int idx, double value, const int element) |
bool | setLocalVarPose (int idx, UPose *value) |
void | setVarPool (UVarCalc *sharedVarPool) |
int | updateQTvars (int structIdx) |
UResVarPool () | |
virtual | ~UResVarPool () |
Public Member Functions inherited from UResBase | |
void | createReplayVar (UVarPool *pool) |
UCmdExe * | getCorePointer () |
char * | getLogFileName (char *fn, const int fnCnt) |
int | getResFuncIdx () |
const char * | getResID () |
int | getResVersion () |
bool | isA (const char *idStr) |
bool | isAlsoA (const char *id) |
virtual void | saveSettings () |
void | setCorePointer (UCmdExe *serverCore) |
void | setResFuncIdx (int idx) |
virtual void | setResID (const char *id, const int version) |
virtual void | stop (bool) |
virtual void | updateReplayStatus () |
UResBase () | |
virtual | ~UResBase () |
Public Member Functions inherited from UReplay | |
void | addChild (UReplay *child) |
virtual bool | decodeReplayLine (char *) |
char * | getLogFileName (char *fn, const int fnCnt) |
char * | getReplayFileName (char *fn, const int fnCnt) |
int | getReplayLogLine () |
bool | isReplay () |
bool | isReplayFileOpen () |
void | removeChild (UReplay *child) |
virtual void | replayAdvanceTime (UTime untilTime) |
void | replaySetBaseFileName (const char *name, const char *preName="") |
void | replaySetFileName (const char *name) |
virtual bool | replayStep () |
int | replayStep (int steps) |
virtual bool | replayToTime (UTime untilTime) |
void | setParent (UReplay *parent) |
bool | setReplay (bool value) |
UReplay () | |
virtual | ~UReplay () |
Public Member Functions inherited from ULock | |
bool | lock () |
void | lockInit () |
void | post () |
bool | tryLock () |
bool | tryWait () |
ULock () | |
void | unlock () |
bool | wait () |
~ULock () | |
Public Member Functions inherited from UVarMethodImplement | |
virtual bool | methodCallV (const char *name, const char *paramOrder, UVariable *params[], UDataBase **returnStruct, int *returnStructCnt) |
virtual | ~UVarMethodImplement () |
Protected Member Functions | |
UCamPush * | getCam (int imgDevice, const char *posName) |
UCamPush * | getCam (int camDevNum) |
bool | getCamAndRawImage (UCamPush **cam, UImage **imgRaw, int *imgDevice, void *imgBase, const char *posName, int rectfiedImg) |
int | getDefaultCamDevice () |
Protected Member Functions inherited from UFunctionImgBase | |
bool | sendImage (UServerInMsg *msg, const char *tagName, UImage *imgRgb, int imgLeft=0, int imgTop=0, int imgWidth=640, int imgHeight=480, int imgSource=-1, bool isCodecBin=true, bool imgIsBW=false, bool imgGetNum=true, bool imgGetTod=true, bool imgGetTime=false, const char *posName=NULL, bool imgGetName=true, bool silent=false) |
Protected Member Functions inherited from UFunctionBase | |
int | getCmdIndex () |
UResBase * | getStaticResource (const char *resName, bool mayCreate, bool staticOnly=true) |
get a pointer to a static resource. More... | |
virtual bool | handleCommand (UServerInMsg *msg, void *extra) |
bool | isClientAlive (int clientIdx, double holdOffTime) |
bool | sendDebug (UServerInMsg *msg, const char *debugText) |
bool | sendDebug (const char *debugText) |
bool | sendError (UServerInMsg *msg, const char *errorText) |
bool | sendError (const char *errorText) |
bool | sendHelp (UServerInMsg *msg, const char *infoText) |
bool | sendHelp (const char *infoText) |
bool | sendInfo (UServerInMsg *msg, const char *infoText) |
bool | sendInfo (const char *infoText) |
bool | sendWarning (UServerInMsg *msg, const char *warningText) |
bool | sendWarning (const char *warningText) |
UResBase * | setThisResource (const char *ID, UResBase *resource, bool remove, bool *changed, UResBase *currentResPtr, bool *isLocal) |
Protected Member Functions inherited from UResVarPool | |
void | setDescription (const char *note, bool copy=false) |
Protected Member Functions inherited from UResBase | |
UResBase * | getStaticResource (const char *resName, bool mayCreate, bool staticOnly=true) |
get a pointer to a static resource. More... | |
Protected Attributes | |
UCamPool * | camPool |
Protected Attributes inherited from UFunctionImgBase | |
UImagePool * | imgPool |
Protected Attributes inherited from UFunctionBase | |
char | aliasName [MAX_ID_LENGTH] |
UCmdExe * | cmdHandler |
char * | cmdToks [20] |
int | cmdToksCnt |
char | commandsHandled [MAX_RESOURCE_LIST_SIZE] |
UServerInMsg * | msg |
char | pluginName [MAX_RESOURCE_LIST_SIZE] |
bool | verboseMessages |
Protected Attributes inherited from UResBase | |
int | resFuncIdx |
char | resID [MAX_RESOURCE_ID_LENGTH] |
char | resIsAlso [MAX_RESOURCE_ISALSO_LENGTH] |
int | resVersion |
Protected Attributes inherited from UReplay | |
bool | replay |
FILE * | replayFile |
char | replayFileName [REPLAY_FILE_NAME_LENGTH] |
replay filename More... | |
char | replayLine [MAX_LOG_LINE_LENGTH] |
int | replayLogLine |
UReplay * | replayParent |
UTime | replayTimeNext |
Private Attributes | |
bool | camPoolLocal |
Additional Inherited Members | |
Static Public Member Functions inherited from UResVarPool | |
static const char * | getResClassID () |
Public Attributes inherited from UFunctionBase | |
bool | silent |
is reply to client and console to be limited More... | |
Public Attributes inherited from UReplay | |
bool | replayTimeAdvancePending |
UTime | replayTimeNow |
Static Public Attributes inherited from UFunctionBase | |
static const int | MAX_ID_LENGTH = 30 |
static const int | MAX_RESOURCE_LIST_SIZE = 250 |
Static Protected Attributes inherited from UReplay | |
static const int | MAX_LOG_LINE_LENGTH = 10000 |
static const int | REPLAY_FILE_NAME_LENGTH = 264 |
max length of replay filename More... | |
Base function with knowledge of camera and image pool structures.
UFunctionCamBase::UFunctionCamBase | ( | ) |
Constructor
References camPool, and camPoolLocal.
|
virtual |
Destructor
|
virtual |
Create any resources that this modules needs and add these to the resource pool to be integrated in the global variable pool and method sharing.
Reimplemented from UFunctionBase.
Reimplemented in UFuncV4lGst, and UFunctionCamGmk.
References UFunctionBase::addResource(), camPool, UFunctionBase::createResources(), and UCamPool::findDevices().
|
protected |
Get camera pointer form either a device number or a device position name.
If 'imgDevice' is >=0 then this value is used to get a device. if not,
then if 'posName' has a length > 0 the camera is found from this name,
if imgDevice < 0 and posName is empty, then device 0 is returned (and may be invalid (NULL).
Returns the requested camera or NULL.
References camPool, UCamPool::getCam(), and UCamPool::makeDevice().
Referenced by getCamAndRawImage(), UFuncBall::handleCommand(), UFuncImgPoly::handleImgPolyCommand(), and UFunctionCamPath::handlePathGetCommand().
|
protected |
Get camera device pointer.
camDevNum | is the camera device number |
References camPool, and UCamPool::getCam().
|
protected |
Get a camera and an image reference from this set of parameters. The camera is returned in 'cam'.
The image (raw only) is returned in 'img', if img is NULL, then imagepool img 0 is allocated.
The image device (often corresponding to /dev/videoX number) should be set in 'imgDevice' if unknown, then set to -1 on call.
'imgDevice' is set on exit if -1 before call.
'imgRemRad' should be set to as appropiate, but is valid if image is captured from camera directly, otherwise the value is set from image on return.
the 'imgBase' pointer may point to a (pushed) image or may be NULL. If null, then an image is taken from camera.
The camera may be selected from a position name 'posName' as an alternative to a device number.
rectfiedImg | is a number in image-pool where the rectified image are placed if the number is not a valid image pool number (i.e. -1) then no rectified image is produced. It further requires that the rectification parameters are set. true if an image is available. NB! a camera may not be available, if the device from image-descriptor is invalid, and in such cases the 'cam' will be returned as NULL. |
References UImage::camDevice, camPool, UCamPool::getCam(), getCam(), UImagePool::getImage(), UFunctionImgBase::imgPool, UCamMounted::logImage(), and UCamRad::removeRadialError().
Referenced by getImage(), UFuncBall_improved::handleCommand(), UFuncBallKL::handleCommand(), UFuncCropRow::handleCommand(), UFuncStraightLine::handleCommand(), UFuncLinefinder::handleCommand(), UFunctionCamGmk::handleGmkGetCommand(), UFunctionImage::handleImageGetCommand(), and UFunctionCamPath::handlePathGetCommand().
|
protected |
Get the device number of the default (first) camera device
References camPool, and UCamPool::getFirstCamDevice().
Referenced by UFunctionImage::handleImageGetCommand(), and UFuncImgPoly::handleImgPolyCommand().
UImage * UFunctionCamBase::getImage | ( | UServerInMsg * | msg, |
void * | extra | ||
) |
Function tests if all shared resources are loaded for full functionality
References UImage::camDevice, camPool, USmlTagIn::getAttValueInt(), UCamPool::getCam(), getCamAndRawImage(), UCamPool::getCamByPoolIndex(), UCamPool::getDeviceCount(), UCamBase::getDevNum(), UImagePool::getImage(), img, UFunctionImgBase::imgPool, and UServerInMsg::tag.
Referenced by UFuncBall::handleCommand(), UFuncImSeg::handleCommand(), and UFuncImgPoly::handleImgPolyCommand().
|
virtual |
Space separated list of resources provided by this function Get a shared resource Set shared resource
Reimplemented from UFunctionImgBase.
References camPool, camPoolLocal, UCamPool::getResClassID(), UResBase::isA(), and UFunctionImgBase::setResource().
|
protected |
Structure holding available camera objects
Referenced by UFuncCog::centerOfGravity(), createResources(), UFuncFocus::doFocus(), getCam(), getCamAndRawImage(), getDefaultCamDevice(), getImage(), UFunctionCam::handleCamGetCommand(), UFunctionCam::handleCamPushCommand(), UFunctionCam::handleCamSetCommand(), UFunctionCam::handleCamsGetCommand(), UFuncBall_improved::handleCommand(), UFuncBallKL::handleCommand(), UFuncCropRow::handleCommand(), UFuncStraightLine::handleCommand(), UFuncLinefinder::handleCommand(), UFuncFz::handleCommand(), UFunctionCamGmk::handleGmkGetCommand(), UFunctionImage::handleImageGetCommand(), setResource(), and UFunctionCamBase().
|
private |
Locally created cam pool (i.e. not created by others)
Referenced by setResource(), and UFunctionCamBase().