GithubHelp home page GithubHelp logo

libqex's People

Contributors

hcebke avatar huxingyi avatar ideasman42 avatar sgp2023 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libqex's Issues

Can't CMake install

Hello,
CMake gives me an error because it can't find OPENMESH_INCLUDE_DIR (see image) and I don't know what directory to provide to it.
image

Also, what should I put for these two:
OPENMESH_CORE_LIBRARY
OPENMESH_TOOLS_LIBRARY

Thanks
Lorenzo

some error during libqex running

I use a Global parameterization to generate texture coordinates to generate a .obj file and use this .obj file as input to libqex.During the program running,program running error occurs.I guess the error is from global parameterization.Thanks for your reply!
The error follows:
`Exact predicates initialized.
�[1;32mNot using externally supplied vertex valences.�[0m
�[1;32mMeshDecimator::decimate() collapsed 10 edges.�[0m
constructed 11193 valid transition functions -> 30 invalid ones
test exactness of transition functions before preprocessing...
... done!
found 224 inexact transitions in input with max deviation 1.60583e-12
QuadMeshExtraction Preprocess maxmial uv deviaton: 9.53674e-07
test exactness of transition functions...
... done!
�[1;32mMeshDecimator::decimate() collapsed 0 edges.�[0m
�[44mGV 538 (OnVertex) on face 4200: expected_lei_count != _gv.local_edges.size(): 2 != 3, pos_angleSum: 3.14159�[0m
�[44mGV 542 (OnVertex) on face 6856: expected_lei_count != _gv.local_edges.size(): 7 != 2, pos_angleSum: 10.9956�[0m
�[44mGV 543 (OnVertex) on face 4354: expected_lei_count != _gv.local_edges.size(): 5 != 2, pos_angleSum: 7.85398�[0m
�[44mGV 544 (OnVertex) on face 2463: expected_lei_count != _gv.local_edges.size(): 5 != 3, pos_angleSum: 7.85398�[0m
�[44mGV 545 (OnVertex) on face 3424: expected_lei_count != _gv.local_edges.size(): 3 != 1, pos_angleSum: 4.71239�[0m
�[44mGV 546 (OnVertex) on face 966: expected_lei_count != _gv.local_edges.size(): 3 != 1, pos_angleSum: 4.71239�[0m
�[44mGV 549 (OnVertex) on face 2111: expected_lei_count != _gv.local_edges.size(): 5 != 3, pos_angleSum: 7.85398�[0m
�[44mGV 553 (OnVertex) on face 1783: expected_lei_count != _gv.local_edges.size(): 5 != 3, pos_angleSum: 7.85398�[0m
�[44mGV 554 (OnVertex) on face 1873: expected_lei_count != _gv.local_edges.size(): 5 != 1, pos_angleSum: 7.85398�[0m
�[44mGV 555 (OnVertex) on face 2512: expected_lei_count != _gv.local_edges.size(): 5 != 3, pos_angleSum: 7.85398�[0m
�[44mGV 559 (OnVertex) on face 5833: expected_lei_count != _gv.local_edges.size(): 3 != 1, pos_angleSum: 4.71239�[0m
�[44mGV 560 (OnVertex) on face 2605: expected_lei_count != _gv.local_edges.size(): 5 != 1, pos_angleSum: 7.85398�[0m
�[44mGV 561 (OnVertex) on face 2625: expected_lei_count != _gv.local_edges.size(): 5 != 3, pos_angleSum: 7.85398�[0m
�[44mGV 562 (OnVertex) on face 5988: expected_lei_count != _gv.local_edges.size(): 4 != 3, pos_angleSum: 6.28319�[0m
�[44mGV 563 (OnVertex) on face 4864: expected_lei_count != _gv.local_edges.size(): 5 != 1, pos_angleSum: 7.85398�[0m
�[44mGV 565 (OnVertex) on face 5447: expected_lei_count != _gv.local_edges.size(): 5 != 2, pos_angleSum: 7.85398�[0m
�[44mGV 566 (OnVertex) on face 5479: expected_lei_count != _gv.local_edges.size(): 3 != 1, pos_angleSum: 4.71239�[0m
�[44mGV 567 (OnVertex) on face 2671: expected_lei_count != _gv.local_edges.size(): 3 != 2, pos_angleSum: 4.71239�[0m
�[44mGV 568 (OnVertex) on face 2892: expected_lei_count != _gv.local_edges.size(): 19 != 5, pos_angleSum: 29.8451�[0m
########### MeshExtractor #############
#Face -GridVertices: 536
#Edge -GridVertices: 2
#Vertex-GridVertices: 31
ERROR: found invalid connection which does not have a reverse...
vertex 316, 0 found vertex 536, 1
vertex 536, 1 found vertex 165, 1
types are OnFace, OnEdge, OnFace
�[41mWarning: When tracing from GV 316, LEI 0 I hit GV 536, LEI 1.
However, this GV is already connected to GV 165, LEI 1�[0m

Additional debug info

Grid Vertex 316
GridVertex {OnFace, non-boundary, heh: 18710, uv pos: (Point_2(2, 1)), 3d pos: (15.8813 4.00972 3.04271), local_edges: [
LocalEdgeInfo { fh_from.idx(): 4676, uv_from: (Point_2(2, 1)), uv_intended_to: (Point_2(3, 1)), uv_to: (Point_2(2, 1)), connected_to_idx: 536, orientation_idx: 1, face_constructed: 0, accumulated_tf: Rotation: 3, Translation: 2/2, primary: 1, id: 1264 },
LocalEdgeInfo { fh_from.idx(): 4676, uv_from: (Point_2(2, 1)), uv_intended_to: (Point_2(2, 2)), uv_to: (Point_2(2, 2)), connected_to_idx: 69, orientation_idx: 3, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 0, id: 1265 },
LocalEdgeInfo { fh_from.idx(): 4676, uv_from: (Point_2(2, 1)), uv_intended_to: (Point_2(1, 1)), uv_to: (Point_2(1, 1)), connected_to_idx: 252, orientation_idx: 0, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 0, id: 1266 },
LocalEdgeInfo { fh_from.idx(): 4676, uv_from: (Point_2(2, 1)), uv_intended_to: (Point_2(2, 0)), uv_to: (Point_2(2, 0)), connected_to_idx: 199, orientation_idx: 1, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 0, id: 1267 }
] }

Grid Vertex 536
GridVertex {OnEdge, non-boundary, heh: 5214, uv pos: (Point_2(3, 0)), 3d pos: (15.6063 3.65361 2.66772), local_edges: [
LocalEdgeInfo { fh_from.idx(): 950, uv_from: (Point_2(3, 0)), uv_intended_to: (Point_2(2, 0)), uv_to: (Point_2(nan, nan)), connected_to_idx: -1, orientation_idx: -1, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 0, id: 2144 },
LocalEdgeInfo { fh_from.idx(): 950, uv_from: (Point_2(3, 0)), uv_intended_to: (Point_2(3, -1)), uv_to: (Point_2(3, -1)), connected_to_idx: 165, orientation_idx: 1, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 0, id: 2145 },
LocalEdgeInfo { fh_from.idx(): 1366, uv_from: (Point_2(2, 1)), uv_intended_to: (Point_2(2, 2)), uv_to: (Point_2(nan, nan)), connected_to_idx: -1, orientation_idx: -1, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 0, id: 2146 },
LocalEdgeInfo { fh_from.idx(): 1366, uv_from: (Point_2(2, 1)), uv_intended_to: (Point_2(3, 1)), uv_to: (Point_2(nan, nan)), connected_to_idx: -1, orientation_idx: -1, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 0, id: 2147 }
] }

Grid Vertex 165
GridVertex {OnFace, non-boundary, heh: 11198, uv pos: (Point_2(3, -1)), 3d pos: (13.9937 3.65106 2.97779), local_edges: [
LocalEdgeInfo { fh_from.idx(): 2263, uv_from: (Point_2(3, -1)), uv_intended_to: (Point_2(4, -1)), uv_to: (Point_2(4, -1)), connected_to_idx: 509, orientation_idx: 2, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 1, id: 660 },
LocalEdgeInfo { fh_from.idx(): 2263, uv_from: (Point_2(3, -1)), uv_intended_to: (Point_2(3, 0)), uv_to: (Point_2(3, 0)), connected_to_idx: 536, orientation_idx: 1, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 1, id: 661 },
LocalEdgeInfo { fh_from.idx(): 2263, uv_from: (Point_2(3, -1)), uv_intended_to: (Point_2(2, -1)), uv_to: (Point_2(2, -1)), connected_to_idx: 243, orientation_idx: 0, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 1, id: 662 },
LocalEdgeInfo { fh_from.idx(): 2263, uv_from: (Point_2(3, -1)), uv_intended_to: (Point_2(3, -2)), uv_to: (Point_2(3, -2)), connected_to_idx: 202, orientation_idx: 1, face_constructed: 0, accumulated_tf: Rotation: 0, Translation: 0/0, primary: 1, id: 663 }
] }

ERROR: found invalid connection which does not have a reverse...
vertex 536, 3 found vertex 316, 0
vertex 316, 0 found vertex 536, 1
types are OnEdge, OnFace, OnEdge
Assertion failed: gvertices_[target.connected_to_idx].local_edges[target.orientation_idx].accumulated_tf == TF::IDENTITY, file f:\libqex\src\MeshExtractorT.cc, line 1534`

compiling errors

I have install OpenMesh2.4.1
when build the source of libQEx, it come the error as:
/libQEx/interfaces/c/../../src/MeshExtractorT.cc:1000:27: error: converting ‘OpenMesh::ArrayItems::Halfedge to const HEH {aka const OpenMesh::HalfedgeHandle}’
In file included from /home/yibing/libQEx/interfaces/c/../../src/MeshExtractorT.hh:665:0,

Preserving boundary while extracting quad-mesh

Hello! Are there any methods to preserve the boundary of original triangle mesh while extracting quad-mesh. Preserving boundary means keeping all the boundary vertices of resulting quad-mesh lying on the boundary edges of triangle mesh.

Here is the result of libQEx.
image

Can libQEx keep boundary while extracting quad-mesh from open triangle mesh?

demo_minimal_c not working

I was able to get OpenMesh and libQex to build just fine, but when I try to run demo_minimal_c the only output I get is

Got the following output quad mesh:

I modified the source file to print quadMesh.quad_count and I get

quadMesh.quad_count = 0

cmmdline tool demo not working

Hi, the repo builds without errors but the demo never completes, hanging indefinitely at:
MeshDecimator::decimate() collapsed __ edges.
Output prior to the halting includes:
ERROR in transition function: 9.22337e+18
ERROR in inverse transition function: 9.22337e+18
constructed 157 valid transition functions -> 29 invalid ones
test exactness of transition functions before preprocessing...
... done!
found 186 inexact transitions in input with max deviation 9.22337e+18
QuadMeshExtraction Preprocess maxmial uv deviaton: 4.29497e+10
test exactness of transition functions...
ERROR: values are not identical after preprocessing, diffs are (6.44245e+09,6.44245e+09) and (0,0)
Collapsing inconsistent edge. Length of he0 = 0, length of he1 = 3.68935e+19
If this happens prior to truncation it's ok. If it happens afterwards, this is a bug.

I have OpenMesh installed. What exactly is meant when you refer to the path to OpenMesh binaries? Any assistance in this installation would be greatly appreciated as I'd love to use this technique in my research. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.