Exemplo n.º 1
0
    //------------------------------------------------------------------------------------
    void startRecording()
    {
        if (bOpeningRecorder)
            finishRecording();
        
        ///add directory select
        SkeletonMap &map = skeleton::SkeletonManager::getInstance().getSkeletons();

        if (map.empty()) {
            ofLogNotice("Recorder") << "No skeleton avairable";
            return;
        }

        for (SkeletonMap::iterator it = map.begin(); it!=map.end(); ++it) {
            SkeletonPtr skeleton = it->second;
            const string name = skeleton->getName();
            //string filePath = ret.getPath();
            string filePath = ofToDataPath("motion/mot/"+ram::getDefaultRecordingDataFileName());
            const string escape = "__WILDCARD_ESCAPE__";
            ofStringReplace(filePath, "\\*", escape);
            ofStringReplace(filePath, "*", name);
            ofStringReplace(filePath, escape, "*");
            skeleton->prepareRecording(filePath);
            skeleton->startRecording();
        }
    
        bOpeningRecorder = true;
    }
Exemplo n.º 2
0
void checkForBodyNodes(
    size_t& count,
    const ReferentialSkeletonPtr& refSkel,
    const SkeletonPtr& skel,
    const std::string& name,
    Args ... args)
{
  bool contains = refSkel->getIndexOf(skel->getBodyNode(name)) != INVALID_INDEX;
  EXPECT_TRUE(contains);
  if(!contains)
  {
    dtmsg << "The ReferentialSkeleton [" << refSkel->getName() << "] does NOT "
          << "contain the BodyNode [" << name << "] of the Skeleton ["
          << skel->getName() << "]\n";
  }

  ++count;
  checkForBodyNodes(count, refSkel, skel, args...);
}