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 <limits>
#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 227 of file QslimDecimation.cpp.
typedef buffer<pair_info *> pair_buffer |
Definition at line 85 of file QslimDecimation.cpp.
static bool check_for_pair | ( | moab::EntityHandle | v0, |
moab::EntityHandle | v1 | ||
) | [static] |
Definition at line 125 of file QslimDecimation.cpp.
static void compute_pair_info | ( | pair_info * | pair | ) | [static] |
Definition at line 393 of file QslimDecimation.cpp.
void decimate_contract | ( | ) |
Definition at line 595 of file QslimDecimation.cpp.
double decimate_error | ( | moab::EntityHandle | v | ) |
Definition at line 627 of file QslimDecimation.cpp.
double decimate_min_error | ( | ) |
Definition at line 638 of file QslimDecimation.cpp.
bool decimate_quadric | ( | moab::EntityHandle | v, |
Mat4 & | Q | ||
) |
Definition at line 585 of file QslimDecimation.cpp.
static void delete_pair | ( | pair_info * | pair | ) | [static] |
Definition at line 150 of file QslimDecimation.cpp.
static void do_contract | ( | pair_info * | pair | ) | [static] |
Definition at line 477 of file QslimDecimation.cpp.
int ehIsValid | ( | moab::EntityHandle | v | ) |
Definition at line 52 of file QslimDecimation.cpp.
Definition at line 137 of file QslimDecimation.cpp.
static double pair_mesh_penalty | ( | moab::EntityHandle | v1, |
moab::EntityHandle | v2, | ||
Vec3 & | vnew | ||
) | [static] |
Definition at line 351 of file QslimDecimation.cpp.
static double pair_mesh_positivity | ( | moab::EntityHandle | v1, |
moab::EntityHandle | v2, | ||
Vec3 & | vnew | ||
) | [static] |
Definition at line 230 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 293 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 183 of file QslimDecimation.cpp.
void recomputeChangedPairsCost | ( | std::vector< moab::EntityHandle > & | changed, |
moab::EntityHandle | v0 | ||
) |
Definition at line 441 of file QslimDecimation.cpp.
int uniqID | ( | moab::EntityHandle | v | ) |
Definition at line 43 of file QslimDecimation.cpp.
static vert_info& vertex_info | ( | moab::EntityHandle | v | ) | [inline, static] |
Definition at line 115 of file QslimDecimation.cpp.
moab::Tag costTag |
Definition at line 30 of file QslimDecimation.cpp.
moab::Range edgs |
Definition at line 39 of file QslimDecimation.cpp.
Definition at line 103 of file QslimDecimation.cpp.
moab::EntityHandle iniSet |
Definition at line 41 of file QslimDecimation.cpp.
moab::Interface* mb |
Definition at line 26 of file QslimDecimation.cpp.
Definition at line 40 of file QslimDecimation.cpp.
moab::Tag planeDataTag |
Definition at line 35 of file QslimDecimation.cpp.
double proximity_limit [static] |
Definition at line 105 of file QslimDecimation.cpp.
moab::Range triangles |
Definition at line 38 of file QslimDecimation.cpp.
moab::Tag uniqIDtag |
Definition at line 27 of file QslimDecimation.cpp.
int validFaceCount |
Definition at line 107 of file QslimDecimation.cpp.
moab::Tag validTag |
Definition at line 28 of file QslimDecimation.cpp.
int validVertCount |
Definition at line 108 of file QslimDecimation.cpp.
moab::Range verts |
Definition at line 37 of file QslimDecimation.cpp.
Definition at line 104 of file QslimDecimation.cpp.