<commit_before>// This file is part of the AliceVision project.
// Copyright (c) 2017 AliceVision contributors.
// This Source Code Form is subject to the terms of the Mozilla Public License,
// v. 2.0. If a copy of the MPL was not distributed with this file,
// You can obtain one at https://mozilla.org/MPL/2.0/.

#pragma once

#include <aliceVision/mvsData/image.hpp>
#include <aliceVision/mvsData/Point2d.hpp>
#include <aliceVision/mvsData/Point3d.hpp>
#include <aliceVision/mvsData/StaticVector.hpp>
#include <aliceVision/mvsData/Voxel.hpp>
#include <aliceVision/mvsUtils/ImagesCache.hpp>
#include <aliceVision/mesh/Mesh.hpp>
#include <aliceVision/mesh/meshVisibility.hpp>

#include <boost/filesystem.hpp>

namespace bfs = boost::filesystem;

namespace aliceVision {
namespace mesh {

/**
 * @brief Available mesh unwrapping methods
 */
enum class EUnwrapMethod {
    Basic = 0, // Basic unwrapping based on visibilities
    ABF = 1,   // Geogram: ABF++
    LSCM = 2   // Geogram: Spectral LSCM
};

/**
 * @brief returns the EUnwrapMethod enum from a string.
 * @param[in] method the input string.
 * @return the associated EUnwrapMethod enum.
 */
EUnwrapMethod EUnwrapMethod_stringToEnum(const std::string& method);

/**
 * @brief converts an EUnwrapMethod enum to a string.
 * @param[in] method the EUnwrapMethod enum to convert.
 * @return the string associated to the EUnwrapMethod enum.
 */
std::string EUnwrapMethod_enumToString(EUnwrapMethod method);


struct TexturingParams
{
    int maxNbImagesForFusion = 3; //< max number of images to combine to create the final texture
    double bestScoreThreshold = 0.8; //< 0.0 to disable filtering based on threshold to relative best score
    double angleHardThreshold = 90.0; //< 0.0 to disable angle hard threshold filtering
    bool forceVisibleByAllVertices = false; //< triangle visibility is based on the union of vertices visiblity

    unsigned int textureSide = 8192;
    unsigned int padding = 15;<commit_msg>[texturing] disable angleHardThreshold by default<commit_after>// This file is part of the AliceVision project.
// Copyright (c) 2017 AliceVision contributors.
// This Source Code Form is subject to the terms of the Mozilla Public License,
// v. 2.0. If a copy of the MPL was not distributed with this file,
// You can obtain one at https://mozilla.org/MPL/2.0/.

#pragma once

#include <aliceVision/mvsData/image.hpp>
#include <aliceVision/mvsData/Point2d.hpp>
#include <aliceVision/mvsData/Point3d.hpp>
#include <aliceVision/mvsData/StaticVector.hpp>
#include <aliceVision/mvsData/Voxel.hpp>
#include <aliceVision/mvsUtils/ImagesCache.hpp>
#include <aliceVision/mesh/Mesh.hpp>
#include <aliceVision/mesh/meshVisibility.hpp>

#include <boost/filesystem.hpp>

namespace bfs = boost::filesystem;

namespace aliceVision {
namespace mesh {

/**
 * @brief Available mesh unwrapping methods
 */
enum class EUnwrapMethod {
    Basic = 0, // Basic unwrapping based on visibilities
    ABF = 1,   // Geogram: ABF++
    LSCM = 2   // Geogram: Spectral LSCM
};

/**
 * @brief returns the EUnwrapMethod enum from a string.
 * @param[in] method the input string.
 * @return the associated EUnwrapMethod enum.
 */
EUnwrapMethod EUnwrapMethod_stringToEnum(const std::string& method);

/**
 * @brief converts an EUnwrapMethod enum to a string.
 * @param[in] method the EUnwrapMethod enum to convert.
 * @return the string associated to the EUnwrapMethod enum.
 */
std::string EUnwrapMethod_enumToString(EUnwrapMethod method);


struct TexturingParams
{
    int maxNbImagesForFusion = 3; //< max number of images to combine to create the final texture
    double bestScoreThreshold = 0.8; //< 0.0 to disable filtering based on threshold to relative best score
    double angleHardThreshold = 0.0; //< 0.0 to disable angle hard threshold filtering
    bool forceVisibleByAllVertices = false; //< triangle visibility is based on the union of vertices visiblity

    unsigned int textureSide = 8192;
    unsigned int padding = 15;
{'fraction_non_alphanumeric': 0.09480812641083522, 'fraction_numerical': 0.014296463506395787, 'mean_word_length': 4.132561132561133, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 21, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '228690', 'n_tokens_mistral': 1275, 'n_tokens_neox': 1219, 'n_words': 419}