MeshKit
1.0
|
#include <assert.h>
#include "QslimDecimation.hpp"
#include "moab/AdaptiveKDTree.hpp"
#include "moab/ReadUtilIface.hpp"
#include "Mat4.h"
#include "defs.h"
#include "quadrics.h"
#include <time.h>
#include <map>
#include "primitives.h"
#include "Heap.hpp"
Go to the source code of this file.
Classes | |
class | pair_info |
class | vert_info |
Namespaces | |
namespace | MeshKit |
Defines | |
#define | MESH_INVERSION_PENALTY 1e9 |
Typedefs | |
typedef buffer< pair_info * > | pair_buffer |
Functions | |
int | uniqID (moab::EntityHandle v) |
int | ehIsValid (moab::EntityHandle v) |
static vert_info & | vertex_info (moab::EntityHandle v) |
static bool | check_for_pair (moab::EntityHandle v0, moab::EntityHandle v1) |
static pair_info * | new_pair (moab::EntityHandle v0, moab::EntityHandle v1) |
static void | delete_pair (pair_info *pair) |
static int | predict_face (moab::EntityHandle tria, moab::EntityHandle v1, moab::EntityHandle v2, Vec3 &vnew, Vec3 &f1, Vec3 &f2, Vec3 &f3) |
static double | pair_mesh_positivity (moab::EntityHandle v1, moab::EntityHandle v2, Vec3 &vnew) |
static double | pair_mesh_topology (moab::EntityHandle v1, moab::EntityHandle v2) |
static double | pair_mesh_penalty (moab::EntityHandle v1, moab::EntityHandle v2, Vec3 &vnew) |
static void | compute_pair_info (pair_info *pair) |
void | recomputeChangedPairsCost (std::vector< moab::EntityHandle > &changed, moab::EntityHandle v0) |
static void | do_contract (pair_info *pair) |
bool | decimate_quadric (moab::EntityHandle v, Mat4 &Q) |
void | decimate_contract () |
double | decimate_error (moab::EntityHandle v) |
double | decimate_min_error () |
Variables | |
moab::Interface * | mb |
moab::Tag | uniqIDtag |
moab::Tag | validTag |
moab::Tag | costTag |
moab::Tag | planeDataTag |
moab::Range | verts |
moab::Range | triangles |
moab::Range | edgs |
QslimOptions | opts |
moab::EntityHandle | iniSet |
static Heap * | heap |
static array< vert_info > | vinfo |
static double | proximity_limit |
int | validFaceCount |
int | validVertCount |
#define MESH_INVERSION_PENALTY 1e9 |
Definition at line 223 of file QslimDecimation.cpp.
typedef buffer<pair_info *> pair_buffer |
Definition at line 82 of file QslimDecimation.cpp.
static bool check_for_pair | ( | moab::EntityHandle | v0, |
moab::EntityHandle | v1 | ||
) | [static] |
Definition at line 122 of file QslimDecimation.cpp.
static void compute_pair_info | ( | pair_info * | pair | ) | [static] |
Definition at line 389 of file QslimDecimation.cpp.
void decimate_contract | ( | ) |
Definition at line 589 of file QslimDecimation.cpp.
double decimate_error | ( | moab::EntityHandle | v | ) |
Definition at line 621 of file QslimDecimation.cpp.
double decimate_min_error | ( | ) |
Definition at line 632 of file QslimDecimation.cpp.
bool decimate_quadric | ( | moab::EntityHandle | v, |
Mat4 & | Q | ||
) |
Definition at line 579 of file QslimDecimation.cpp.
static void delete_pair | ( | pair_info * | pair | ) | [static] |
Definition at line 147 of file QslimDecimation.cpp.
static void do_contract | ( | pair_info * | pair | ) | [static] |
Definition at line 473 of file QslimDecimation.cpp.
int ehIsValid | ( | moab::EntityHandle | v | ) |
Definition at line 50 of file QslimDecimation.cpp.
Definition at line 134 of file QslimDecimation.cpp.
static double pair_mesh_penalty | ( | moab::EntityHandle | v1, |
moab::EntityHandle | v2, | ||
Vec3 & | vnew | ||
) | [static] |
Definition at line 347 of file QslimDecimation.cpp.
static double pair_mesh_positivity | ( | moab::EntityHandle | v1, |
moab::EntityHandle | v2, | ||
Vec3 & | vnew | ||
) | [static] |
Definition at line 226 of file QslimDecimation.cpp.
static double pair_mesh_topology | ( | moab::EntityHandle | v1, |
moab::EntityHandle | v2 | ||
) | [static] |
triangles connected to the 3 nodes
Definition at line 289 of file QslimDecimation.cpp.
static int predict_face | ( | moab::EntityHandle | tria, |
moab::EntityHandle | v1, | ||
moab::EntityHandle | v2, | ||
Vec3 & | vnew, | ||
Vec3 & | f1, | ||
Vec3 & | f2, | ||
Vec3 & | f3 | ||
) | [static] |
Definition at line 180 of file QslimDecimation.cpp.
void recomputeChangedPairsCost | ( | std::vector< moab::EntityHandle > & | changed, |
moab::EntityHandle | v0 | ||
) |
Definition at line 437 of file QslimDecimation.cpp.
int uniqID | ( | moab::EntityHandle | v | ) |
Definition at line 42 of file QslimDecimation.cpp.
static vert_info& vertex_info | ( | moab::EntityHandle | v | ) | [inline, static] |
Definition at line 112 of file QslimDecimation.cpp.
moab::Tag costTag |
Definition at line 29 of file QslimDecimation.cpp.
moab::Range edgs |
Definition at line 38 of file QslimDecimation.cpp.
Definition at line 100 of file QslimDecimation.cpp.
moab::EntityHandle iniSet |
Definition at line 40 of file QslimDecimation.cpp.
moab::Interface* mb |
Definition at line 25 of file QslimDecimation.cpp.
Definition at line 39 of file QslimDecimation.cpp.
moab::Tag planeDataTag |
Definition at line 34 of file QslimDecimation.cpp.
double proximity_limit [static] |
Definition at line 102 of file QslimDecimation.cpp.
moab::Range triangles |
Definition at line 37 of file QslimDecimation.cpp.
moab::Tag uniqIDtag |
Definition at line 26 of file QslimDecimation.cpp.
int validFaceCount |
Definition at line 104 of file QslimDecimation.cpp.
moab::Tag validTag |
Definition at line 27 of file QslimDecimation.cpp.
int validVertCount |
Definition at line 105 of file QslimDecimation.cpp.
moab::Range verts |
Definition at line 36 of file QslimDecimation.cpp.
Definition at line 101 of file QslimDecimation.cpp.