コード例 #1
0
ファイル: DecimationMesh.cpp プロジェクト: ikee/tnm079
 * Modeling and animation (TNM079) 2007
 * Code base for lab assignments. Copyright:
 *   Gunnar Johansson ([email protected])
 *   Ken Museth ([email protected])
 *   Michael Bang Nielsen ([email protected])
 *   Ola Nilsson ([email protected])
 *   Andreas Sˆderstrˆm ([email protected])
 *
 *************************************************************************************************/
#include "Decimation/DecimationMesh.h"
#include "Util/ColorMap.h"
#include "GUI/GUI.h"
#include <cassert>


const DecimationMesh::VisualizationMode DecimationMesh::CollapseCost = NewVisualizationMode("Collapse cost");


void DecimationMesh::Initialize()
{
  // Allocate memory for the 'collapsed flags'
  mCollapsedVerts.reserve(mVerts.size());
  mCollapsedEdges.reserve(mEdges.size());
  mCollapsedFaces.reserve(mFaces.size());

  // Set all flags to false
  mCollapsedVerts.assign(mVerts.size(), false);
  mCollapsedEdges.assign(mEdges.size(), false);
  mCollapsedFaces.assign(mFaces.size(), false);

  // Allocate memory for the references from half-edge
コード例 #2
0
 *   Gunnar Johansson ([email protected])
 *   Ken Museth ([email protected])
 *   Michael Bang Nielsen ([email protected])
 *   Ola Nilsson ([email protected])
 *   Andreas Sderstrm ([email protected])
 *
 *************************************************************************************************/
#include "Implicit.h"

#ifdef __APPLE__
#include "GLUT/glut.h"
#else
#include "GL/glut.h"
#endif

const Implicit::VisualizationMode Implicit::Gradients = NewVisualizationMode("Gradients");
const Implicit::VisualizationMode Implicit::Curvature = NewVisualizationMode("Curvature");

Implicit::Implicit() : mMesh(NULL), mMeshSampling(0.1), mDelta(0.1) {}

Implicit::~Implicit()
{
  if (mMesh != NULL) {
    delete mMesh;
    mMesh = NULL;
  }
}


void Implicit::Update()
{
コード例 #3
0
/*************************************************************************************************
 *
 * Modeling and animation (TNM079) 2007
 * Code base for lab assignments. Copyright:
 *   Gunnar Johansson ([email protected])
 *   Ken Museth ([email protected])
 *   Michael Bang Nielsen ([email protected])
 *   Ola Nilsson ([email protected])
 *   Andreas Sderstrm ([email protected])
 *
 *************************************************************************************************/
#include "QuadricDecimationMesh.h"

const QuadricDecimationMesh::VisualizationMode QuadricDecimationMesh::QuadricIsoSurfaces = NewVisualizationMode("Quadric Iso Surfaces");

void QuadricDecimationMesh::Initialize()
{
  // Allocate memory for the quadric array
  unsigned int numVerts = mVerts.size();
  mQuadrics.reserve(numVerts);
  std::streamsize width = std::cerr.precision(); // store stream precision
  for (unsigned int i = 0; i < numVerts; i++) {

    // Compute quadric for vertex i here
    mQuadrics.push_back(createQuadricForVert(i));


    // Calculate initial error, should be numerically close to 0

    Vector3<float> v0 = mVerts[i].pos;
    Vector4<float> v(v0[0],v0[1],v0[2],1);