MeshKit  1.0
primitives.h
Go to the documentation of this file.
00001 /*
00002  * primitives.h
00003  *
00004  *  Created on: Mar 22, 2010
00005  *      Author: iulian
00006  */
00007 
00008 #ifndef PRIMITIVES_H_
00009 #define PRIMITIVES_H_
00010 
00011 #include "std.h"
00012 #include "3D.h"
00013 #include "Mat4.h"
00014 #include "moab/Interface.hpp"
00015 // this is for moab::ErrorCode ?
00016 
00017 #include "meshkit/QslimOptions.hpp"
00018 #include <vector>
00019 
00020 extern int validFaceCount; // defined in QslimDecimation
00021 extern moab::Tag validTag;   // defined in QslimDecimation
00022 // the plane data will be stored for each triangle, and recomputed for each triangle
00023 // it will be needed only for the -m option active (so do not recompute if you do not need it)
00024 extern moab::Tag planeDataTag;  // defined in QslimDecimation
00025 extern int ehIsValid(moab::EntityHandle v);  // defined in QslimDecimation; maybe we should pass Interface too
00026 extern QslimOptions opts;
00027 extern moab::EntityHandle iniSet;
00028 
00029 extern void filterValid(moab::Interface * mb, std::vector<moab::EntityHandle> & io);
00030 extern int classifyVertex(moab::Interface * mb, moab::EntityHandle v);
00031 
00032 extern moab::ErrorCode contractionRegion(moab::Interface * mb, moab::EntityHandle v1, moab::EntityHandle v2,
00033                 std::vector<moab::EntityHandle> & changed);
00034 
00035 extern Vec3 getVec3FromMBVertex(moab::Interface * mb, moab::EntityHandle v);
00036 
00037 // this will just retrieve it from the tag data
00038 extern Plane trianglePlane(moab::Interface * mb, moab::EntityHandle tri);
00039 
00040 extern void computeTrianglePlane (moab::Interface * mb, moab::EntityHandle tri);
00041 
00042 extern moab::ErrorCode contract (moab::Interface * mb, moab::EntityHandle v0, moab::EntityHandle v1, Vec3 & vnew, std::vector<moab::EntityHandle> & changed);
00043 
00044 #endif /* PRIMITIVES_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines