当前位置: 首页>>代码示例>>C++>>正文


C++ ArRef::getFirstChild方法代码示例

本文整理汇总了C++中ArRef::getFirstChild方法的典型用法代码示例。如果您正苦于以下问题:C++ ArRef::getFirstChild方法的具体用法?C++ ArRef::getFirstChild怎么用?C++ ArRef::getFirstChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ArRef的用法示例。


在下文中一共展示了ArRef::getFirstChild方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: axis

bool
ArTrackOrientation::_readXML(ArRef<XmlNode> node)
{
if (node->getName()!="TrackOrientation")
  return(ArKeyFrameTrack::_readXML(node));
  
double duration;
int degree;
node->getPropertyReal("duration",duration);
node->getPropertyInteger("degree",degree);
_track->setDuration(duration);
_track->setDegree(degree);

int dim;
if (!node->getPropertyInteger("dimension",dim))
  {
  cerr << "Missing dimensions specification" << endl;
  return(false);
  }
if (dim!=4)
  {
  cerr << "Bad track dimension " << dim << "!=4" << endl;
  return(false);
  }
  
_track->clearKeyFrames();
    
ArRef<XmlNode> keyFrame=node->getFirstChild();   
while(keyFrame)
  {
  if (keyFrame->getName()=="KeyFrameOrientation")
    {
    int frame;
    if (!keyFrame->getPropertyInteger("frame",frame))
      {
      cerr << "Invalid keyFrame misssing frame info"<< endl;
      return(false);
      }
      
    
    double angle;
    double xx,yy,zz;
    bool ok=true;
    if(!keyFrame->getPropertyReal("vx",xx))
      ok = false;
    if(!keyFrame->getPropertyReal("vy",yy))
      ok = false;
    if(!keyFrame->getPropertyReal("vz",zz))
      ok = false;
    if(!keyFrame->getPropertyReal("angle",angle))
      ok = false;
    
    if(!ok)
    {
        cerr << "Error reading orientation infos (vx,vy,vz,angle)" << endl;
        return(false);
    }
    
    Vector3d axis(xx,yy,zz);
    
/*    if (!keyFrame->getPropertyReal("vx",axis.accessVector()[0]) ||
        !keyFrame->getPropertyReal("vy",axis.accessVector()[1]) ||
        !keyFrame->getPropertyReal("vz",axis.accessVector()[2]) ||
        !keyFrame->getPropertyReal("angle",angle))
               
       {
        cerr << "Error reading orientation infos (vx,vy,vz,angle)" << endl;
        return(false);
       }*/
    
    setKeyFrame(frame,axis,angle);
    //cerr << "kf=" << frame << "   axis=" << axis << "   angme=" << angle << endl;
    }
  keyFrame=keyFrame->getNext();
  }
return(true);
}    
开发者ID:DelamarreAlban,项目名称:Mascaret,代码行数:77,代码来源:arTrackOrientation.cpp


注:本文中的ArRef::getFirstChild方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。