From 0e8f0361c1068eb4c2f634dfcf4e1762d87f40d2 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Sat, 31 Mar 2012 16:44:02 +0100 Subject: implementing trap door --- gaunt01/src/morphmesh.cpp | 133 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 gaunt01/src/morphmesh.cpp (limited to 'gaunt01/src/morphmesh.cpp') diff --git a/gaunt01/src/morphmesh.cpp b/gaunt01/src/morphmesh.cpp new file mode 100644 index 0000000..64bc24e --- /dev/null +++ b/gaunt01/src/morphmesh.cpp @@ -0,0 +1,133 @@ +#include "morphmesh.h" + +morphmesh::morphmesh() +{ + loaded=false; +} + +morphmesh::morphmesh(string filename) +{ + morphmesh(); + loadfile(filename); +} + +morphmesh::~morphmesh() +{ + //dtor +} + +int morphmesh::getNumTargets(){ + return morphs.size(); +} +void morphmesh::draw() { + draw(0); +} +void morphmesh::draw(int target){ + clearVertices(); + addVertices(morphs[target]); + ofMesh::draw(); +} +void morphmesh::draw(const vector& targets, const vector& weights){ + clearVertices(); + //normalise weights + int targetsNum=min(targets.size(),morphs.size()); + float totalWeights=0; + for (int i=0;i verts; + + string vertstring=XML.getAttribute("Attribute","Data","none",0); + stringstream ss(vertstring); + istream_iterator begin(ss); + istream_iterator end; + vector vstrings(begin, end); + for (int j=0;j norms; + string normstring=XML.getAttribute("Attribute","Data","none",1); + stringstream ns(normstring); + istream_iterator nbegin(ns); + istream_iterator nend; + vector nstrings(nbegin, nend); + for (int j=0;j texcords; + string texstring=XML.getAttribute("Attribute","Data","none",2); + stringstream ts(texstring); + istream_iterator tbegin(ts); + istream_iterator tend; + vector tstrings(tbegin, tend); + for (int j=0;j faces; + string facestring=XML.getAttribute("Index","Data","none",0); + stringstream fs(facestring); + istream_iterator fbegin(fs); + istream_iterator fend; + vector fstrings(fbegin, fend); + for (int j=0;j