#include <stdio.h>
#include <stdlib.h>
#include <string.h>
{
int rc = EXIT_FAILURE;
if ( !selfCollidingPairs )
{
goto fail_self_collision_pairs;
}
{
}
if ( !selfCollidingBitSet )
{
goto fail_self_collision_bs;
}
if ( !isSelfColliding )
{
goto fail_self_collision_fast;
}
fprintf( stdout, "%d\n", *isSelfColliding );
rc = EXIT_SUCCESS;
fail_self_collision_fast:
fail_self_collision_bs:
fail_self_collision_pairs:
return rc;
}
struct MR_FaceBitSet MR_FaceBitSet
struct MR_MeshPart MR_MeshPart
MRC_API const MR_BitSet * MR_FaceBitSet_UpcastTo_MR_BitSet(const MR_FaceBitSet *object)
MRC_API MR_uint64_t MR_BitSet_count(const MR_BitSet *_this)
struct MR_expected_MR_FaceBitSet_std_string MR_expected_MR_FaceBitSet_std_string
struct MR_FaceFace MR_FaceFace
MRC_API const MR_FaceId * MR_FaceFace_Get_bFace(const MR_FaceFace *_this)
MRC_API const MR_FaceId * MR_FaceFace_Get_aFace(const MR_FaceFace *_this)
MRC_API MR_expected_MR_FaceBitSet_std_string * MR_findSelfCollidingTrianglesBS(const MR_MeshPart *mp, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const MR_Face2RegionMap *regionMap, const bool *touchIsIntersection)
struct MR_std_vector_MR_FaceFace MR_std_vector_MR_FaceFace
struct MR_expected_bool_std_string MR_expected_bool_std_string
MRC_API MR_expected_std_vector_MR_FaceFace_std_string * MR_findSelfCollidingTriangles_4(const MR_MeshPart *mp, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const MR_Face2RegionMap *regionMap, const bool *touchIsIntersection)
struct MR_expected_std_vector_MR_FaceFace_std_string MR_expected_std_vector_MR_FaceFace_std_string
MRC_API MR_expected_bool_std_string * MR_findSelfCollidingTriangles_5(const MR_MeshPart *mp, MR_std_vector_MR_FaceFace *outCollidingPairs, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const MR_Face2RegionMap *regionMap, const bool *touchIsIntersection)
MRC_API void MR_MeshPart_Destroy(const MR_MeshPart *_this)
MRC_API MR_MeshPart * MR_MeshPart_Construct(const MR_Mesh *m, const MR_FaceBitSet *bs)
MRC_API void MR_Mesh_Destroy(const MR_Mesh *_this)
MRC_API MR_Mesh * MR_makeTorusWithSelfIntersections(const float *primaryRadius, const float *secondaryRadius, const int *primaryResolution, const int *secondaryResolution, MR_std_vector_MR_Vector3f *points)
MRC_API MR_FaceBitSet * MR_expected_MR_FaceBitSet_std_string_GetMutableValue(MR_expected_MR_FaceBitSet_std_string *_this)
MRC_API void MR_expected_MR_FaceBitSet_std_string_Destroy(const MR_expected_MR_FaceBitSet_std_string *_this)
MRC_API const MR_std_string * MR_expected_MR_FaceBitSet_std_string_GetError(const MR_expected_MR_FaceBitSet_std_string *_this)
MRC_API bool * MR_expected_bool_std_string_GetMutableValue(MR_expected_bool_std_string *_this)
MRC_API const MR_std_string * MR_expected_bool_std_string_GetError(const MR_expected_bool_std_string *_this)
MRC_API void MR_expected_bool_std_string_Destroy(const MR_expected_bool_std_string *_this)
MRC_API void MR_expected_std_vector_MR_FaceFace_std_string_Destroy(const MR_expected_std_vector_MR_FaceFace_std_string *_this)
MRC_API const MR_std_string * MR_expected_std_vector_MR_FaceFace_std_string_GetError(const MR_expected_std_vector_MR_FaceFace_std_string *_this)
MRC_API MR_std_vector_MR_FaceFace * MR_expected_std_vector_MR_FaceFace_std_string_GetMutableValue(MR_expected_std_vector_MR_FaceFace_std_string *_this)
MRC_API const char * MR_std_string_Data(const MR_std_string *_this)
MRC_API size_t MR_std_vector_MR_FaceFace_Size(const MR_std_vector_MR_FaceFace *_this)
MRC_API const MR_FaceFace * MR_std_vector_MR_FaceFace_At(const MR_std_vector_MR_FaceFace *_this, size_t i)