本文整理汇总了C++中ALValue::getSize方法的典型用法代码示例。如果您正苦于以下问题:C++ ALValue::getSize方法的具体用法?C++ ALValue::getSize怎么用?C++ ALValue::getSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ALValue
的用法示例。
在下文中一共展示了ALValue::getSize方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setJointData
void HWController::setJointData(const ALValue &values) {
if (values.getSize() < NUM_OF_JOINTS) return;
shared_ptr<vector<float> > local_actuator_values = make_shared<vector<float> >(NUM_OF_JOINTS);
for (int i = 0; i < NUM_OF_JOINTS; ++i) local_actuator_values->at(i) = (float) values[i];
lock_guard<mutex> guard(this->actuator_mutex);
this->work_actuator_values.swap(local_actuator_values);
}
示例2: move_joints
void APIDemonstration::move_joints(const ALValue& joints,
const ALValue& target_angles,
const ALValue& target_times,
const bool &restore_pos,
const std::string& phrase,
const float& phrase_lag) {
try{
bool useSensors = false;
std::vector<float> angles_before = motion_proxy.getAngles(joints, useSensors);
std::vector<float> stiffness_before = motion_proxy.getStiffnesses(joints);
int n = joints.isArray() ? joints.getSize() : 1;
motion_proxy.setStiffnesses(joints, std::vector<float>(n, 1.0));
bool isAbsolute = true;
int id = motion_proxy.post.angleInterpolation(joints, target_angles, target_times, isAbsolute);
qi::os::sleep(phrase_lag);
if (phrase != "") {
TTS_proxy.setLanguage("English");
TTS_proxy.post.say(phrase);
}
if (restore_pos)
motion_proxy.angleInterpolation(joints, angles_before, std::vector<float>(n, 1.0), true);
motion_proxy.setStiffnesses(joints, stiffness_before);
motion_proxy.wait(id, 0);
}
catch (const ALError& e) {
std::cerr << "Caught exception: " << e.what() << std::endl;
}
}
示例3: face_detected
void APIDemonstration::face_detected() {
qiLogInfo("module.example") << "Executing callback method on face_detected event" << std::endl;
ALCriticalSection section(fCallbackMutexFaceDetection);
ALValue data = memory_proxy.getData("FaceDetected");
if (data.getSize() > 0) {
TTS_proxy.say("Yep");
b_face_detected = true;
}
}
示例4: catch
JNIEXPORT
void JNICALL Java_jp_ac_fit_asura_naoji_jal_JALMemory__1updateStringQuery(
JNIEnv *env, jclass, jlong queryPtr) {
Query *query = reinterpret_cast<Query*> (queryPtr);
assert(query != NULL);
try {
ALValue data = query->jmemory->getProxy()->getListData(query->names);
int size = data.getSize();
assert(query->names.getSize() == size);
for (int i = 0; i < size; i++) {
env->SetObjectArrayElement(query->buffer.s, i, env->NewStringUTF(
((string)data[i]).c_str()));
}
} catch (AL::ALError err) {
std::cerr << err.toString() << std::endl;
assert(false);
}
}
示例5: fetchImage
struct timespec KImageExtractor::fetchImage(IplImage *img)
{
struct timespec rt;//Timestamp
cout<<"KImageExtractor::fetchimage():"<<endl;
if (doneSubscribe==false)
{
cout<<"KImageExtractor: Warning! fetchImage() called although GVM Subscription has failed!"<<endl;
rt.tv_sec=0;
rt.tv_nsec=0;
return rt;
}
#ifdef REMOTE_ON
// cout << "Remote method on" << endl;
// sleep(1);
ALValue results;
#ifdef RAW
results = (c->call<ALValue> ("getDirectRawImageRemote", GVM_name));
#else
results = (c->call<ALValue> ("getImageRemote", GVM_name));
#endif
if (results.getType() != ALValue::TypeArray && results.getSize() != 7)
{
throw ALError("KImageExtractor", "saveImageRemote", "Invalid image returned.");
}
//const int size = results[6].getSize();
// You can get some image information that you may find useful.
// const int width = (int) results[0];
// const int height = (int) results[1];
// const int nbLayers = (int) results[2];
// const int colorSpace = (int) results[3];
//const long long timeStamp = ((long long) (int) results[4]) * 1000000LL + ((long long) (int) results[5]);
// const int seconds = (int) (timeStamp / 1000000LL);
// Set the buffer we received to our IplImage header.
//fIplImageHeader->imageData = (char*) (results[6].GetBinary());
//cout << "Size" << size << endl;
int width = (int) results[0];
int height = (int) results[1];
int nChannels = (int) results[2];
int colorSpace = (int) results[3];
int size =width*height*nChannels;
//Fetch TimeStamp;
rt.tv_sec=(time_t)((int) results[4]);
rt.tv_nsec=(int) results[5]*1000L;
//Change of image data size
assert(img!=NULL);
//cout<<img->imageSize<<" "<<size<<endl;
if (img->imageSize!=size )
{
//cout<<img->width<<" "<<img->height<<endl;
cout<<"KImageExtractor::fetchImage():allocating new imagedata"<<endl;
//cout<<"Delete old"<<endl;
//delete img->imageData;
//img->imageData=NULL;
cout<<"cvInitImage"<<endl;
cvInitImageHeader(img, cvSize(width,height),IPL_DEPTH_8U, nChannels);
//img->imageData=NULL;
cout<<" Done"<<endl;
//img->imageData=(char*)malloc(img->imageSize);
}
if (img->imageData != NULL)
{
//free( fIplImageHeader->imageData)
memcpy(img->imageData, (char*) (results[6].GetBinary()), results[6].getSize() * sizeof(unsigned char));
}
else
{
img->imageData = new char[img->imageSize];
memcpy(img->imageData, (char*) (results[6].GetBinary()), results[6].getSize() * sizeof(char));
}
#else
//cout << "Remote method off" << endl;
//sleep(1);
ALImage* imageIn = NULL;
// Now you can get the pointer to the video structure.
#ifdef RAW
imageIn = (ALImage*) (c->call<int> ("getDirectRawImage", GVM_name));
#else
imageIn = (ALImage*) (c->call<int> ("getImageLocal", GVM_name));
#endif
if (!imageIn)
{
throw ALError("KImageExtractor", "saveImageLocal", "Invalid image returned.");
}
//fLogProxy->info(getName(), imageIn->toString());
// You can get some image information that you may find useful.
int width = imageIn->fWidth;
int height = imageIn->fHeight;
const int nChannels = imageIn->fNbLayers;
// const int colorSpace = imageIn->fColorSpace;
const long long timeStamp = imageIn->fTimeStamp;
//.........这里部分代码省略.........