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


C++ ofBuffer::isLastLine方法代码示例

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


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

示例1: decode

void ramTSVCoder::decode(ofBuffer buffer)
{
	
	if (buffer.size())
	{
		clear();
		
		do
		{
			string frame = buffer.getNextLine();
			vector<string> values = ofSplitString(frame, "\t");
			
			if (values.size() < 2)
				throw std::exception();
				
			const string addr = values.at(0);
			const string name = values.at(1);
			
			ramNodeArray NA;
			
			if (addr == RAM_OSC_ADDR_ACTOR)
			{
				ramActor o;
				o.setType(RAM_NODEARRAY_TYPE_ACTOR);
				o.setName(name);
				NA = o;
			}
			else
			{
				ramRigidBody o;
				o.setType(RAM_NODEARRAY_TYPE_RIGIDBODY);
				o.setName(name);
				NA = o;
			}
			
			const int numNodes = ofToInt(values.at(2));
			
			for (int i=0; i<numNodes; i++)
			{
				if (values.size() < i*8+3+7)
					throw std::exception();
					
				const string nodeName = values.at(i*8 + 0 + 3);
				const float vx = ofToFloat( values.at(i*8 + 1 + 3) );
				const float vy = ofToFloat( values.at(i*8 + 2 + 3) );
				const float vz = ofToFloat( values.at(i*8 + 3 + 3) );
				const float qa = ofToFloat( values.at(i*8 + 4 + 3) );
				const float ax = ofToFloat( values.at(i*8 + 5 + 3) );
				const float ay = ofToFloat( values.at(i*8 + 6 + 3) );
				const float az = ofToFloat( values.at(i*8 + 7 + 3) );
				const ofVec3f vec(vx, vy, vz);
				const ofVec3f axis(ax, ay, az);
				const ofQuaternion quat(qa, axis);
				
				ramNode &node = NA.getNode(i);
				node.setID(i);
				node.setName(nodeName);
				node.setPosition(vec);
				node.setOrientation(quat);
				node.getAccelerometer().update(vec, quat);
			}
			
			NA.setTimestamp(ofToFloat( values.at(numNodes*8 + 0 + 3) ));
			
			mSession.appendFrame(NA);
			
		} while (!buffer.isLastLine());
		
//		cout << "[" << __FUNCTION__ << "] " << "File loaded! " << endl;
//		cout << "[" << __FUNCTION__ << "] " << "Actor: " << mSession.getNodeArrayName() << endl;
//		cout << "[" << __FUNCTION__ << "] " << "Duration: " << mSession.getDuration() << "sec"<< endl;
//		cout << "[" << __FUNCTION__ << "] " << "Frames: " << mSession.getNumFrames() << endl << endl;
	}


//	return mSession;
}
开发者ID:UIKit0,项目名称:RAMDanceToolkit,代码行数:77,代码来源:ramTSVCoder.cpp


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