mcut icon indicating copy to clipboard operation
mcut copied to clipboard

I crashed when I tried to partially slice the output from the previous partially slice.

Open monkeygame opened this issue 3 years ago • 2 comments

I crashed when I tried to partially slice the output from the previous partially slice. mcflags: err = mcDispatch( context, MC_DISPATCH_VERTEX_ARRAY_DOUBLE | MC_DISPATCH_ENFORCE_GENERAL_POSITION | MC_DISPATCH_FILTER_FRAGMENT_SEALING_INSIDE | MC_DISPATCH_FILTER_FRAGMENT_LOCATION_ABOVE, triangulated output: MC_CONNECTED_COMPONENT_DATA_FACE_TRIANGULATION crash info:

mcutd.dll!mcut::mesh_t::add_face(const std::vector<mcut::vertex_descriptor_t,std::allocatormcut::vertex_descriptor_t> & vi) 行 545 C++ mcutd.dll!indexArrayMeshToHalfedgeMesh::__l31::(std::_Vector_const_iterator<std::_Vector_val<std::Simple_types>> block_start, std::_Vector_const_iterator<std::Vector_val<std::Simple_types>> block_end) 行 534 C++ mcutd.dll!indexArrayMeshToHalfedgeMesh(std::unique_ptr<McDispatchContextInternal,std::default_delete<McDispatchContextInternal>> & ctxtPtr, mcut::mesh_t & halfedgeMesh, double & bboxDiagonal, const void * pVertices, const unsigned int * pFaceIndices, const unsigned int * pFaceSizes, const unsigned int numVertices, const unsigned int numFaces, const mcut::math::vec3 * perturbation) 行 578 C++ mcutd.dll!mcDispatch(McContext_T * context, unsigned int dispatchFlags, const void * pSrcMeshVertices, const unsigned int * pSrcMeshFaceIndices, const unsigned int * pSrcMeshFaceSizes, unsigned int numSrcMeshVertices, unsigned int numSrcMeshFaces, const void * pCutMeshVertices, const unsigned int * pCutMeshFaceIndices, const unsigned int * pCutMeshFaceSizes, unsigned int numCutMeshVertices, unsigned int numCutMeshFaces) 行 2530 C++

I tried cutting using Basiccmdlineapp.exe and encountered a similar problem. Attached are the relevant information and cutting documents 20220524115322 data.zip

monkeygame avatar May 24 '22 03:05 monkeygame

Hi @monkeygame

MCUT currently offers a rather simple implementation of MC_CONNECTED_COMPONENT_DATA_FACE_TRIANGULATION, which can sometimes produce degenerate triangles ('degenerate' in the sense of having zero area).

This will be addressed in due course with a more robust triangulation routine that also produces higher quality faces.

Consider using MC_CONNECTED_COMPONENT_DATA_FACE for now. Note however, that this is not a solution but a possible workaround for the time being.

I will leave this issue open until proper triangulation is implemented.

chitalu avatar Jul 04 '22 09:07 chitalu

Thanks for your reply, very nice work, come on

monkeygame avatar Jul 04 '22 13:07 monkeygame

This bug is now resolved in the latest release.

chitalu avatar Sep 12 '22 08:09 chitalu