3 #include <osg/io_utils>
20 typedef osg::ref_ptr<vreckoUtils::Menu>
MenuPtr;
26 std::cerr << __FUNCTION__<< " - " << msg << std::endl;
31 std::cout << msg << std::endl;
39 std::cout << msg << std::endl;
53 virtual osg::ref_ptr<osg::DoubleArray>
getTimeStamps()
const = 0;
63 virtual void createMenu(osg::ref_ptr<vreckoUtils::Menu> menu) {}
68 virtual bool itemClicked(
const char* itemID) {
return false; }
71 virtual int load( XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode* ParametersNode ) {
return 0; }
77 virtual void save(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* Document, XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode* poaNode) {}
80 virtual bool sliderChanged(
const char* sliderID,
float sliderPos) {
return false; }
85 virtual std::string
className()
const = 0;
101 for (u_int i = 0; i < this->
_adapters.size(); ++i)
103 if (this->
_adapters[i]->className() == className)
117 static void interpolateVec3(osg::Vec3Array* controlPoints, osg::Vec3Array* interpolatedPoints,
int p_steps);
118 static osg::Vec3
interpolatePoint(
double t, osg::Vec3 point1, osg::Vec3 point2, osg::Vec3 point0, osg::Vec3 point3);
126 stateSet->setAttributeAndModes(
new osg::Program());
128 static void setLayout(
const std::string& name);
132 static std::vector<std::string> &
splitString(
const std::string &s,
char delim, std::vector<std::string> &elems) {
133 std::stringstream ss(s);
135 while(std::getline(ss, item, delim)) {
136 elems.push_back(item);
141 static std::vector<std::string>
splitString(
const std::string &s,
char delim) {
142 std::vector<std::string> elems;
156 istringstream is(number);
179 double x = point._v[0];
double y = point._v[1];
double z = point._v[2];
203 void addColor(osg::Vec4 color) { _colors.push_back(color); }
208 std::vector<osg::Vec4> _colors;
217 _stateMap[poa] =
PosRot(poa->getPosition(), poa->getRotation().getRotate());
221 if(it ==
_stateMap.end()) {
err(
"State of given PoA wasn't found!");
return; }
228 if(it->first.valid()) {
229 it->first->setPosition(it->second.first);
230 it->first->setRotation(it->second.second);
236 typedef std::pair<osg::Vec3, osg::Quat>
PosRot;