HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GU_UVFlatten.h File Reference
#include "GU_API.h"
#include "GU_Detail.h"
#include "GU_UVUtils.h"
#include "GU_TriangleMesh.h"
#include <GEO/GEO_HedgeInterface.h>
#include <GA/GA_Edge.h>
#include <GA/GA_EdgeGroup.h>
#include <UT/UT_Map.h>
#include <UT/UT_ParallelUtil.h>
#include <UT/UT_UniquePtr.h>
#include <UT/UT_TriangleMesh.h>
#include <UT/UT_Set.h>
+ Include dependency graph for GU_UVFlatten.h:

Go to the source code of this file.

Classes

struct  GU_UVFlatten::PtrRange< T >
 
class  GU_UVFlatten::Island
 
class  GU_UVFlatten::IslandBundle
 
class  GU_UVFlatten::ElementConstraintList< T >
 
struct  GU_UVFlatten::GroupConstraintList< T >
 
struct  GU_UVFlatten::GroupConstraintList< T >::GroupHandle
 
class  GU_UVFlatten::ConstraintSet
 
struct  GU_UVFlatten::ConstraintSet::BaseInfo
 
struct  GU_UVFlatten::ConstraintSet::PinInfo
 
struct  GU_UVFlatten::ConstraintSet::AngleInfo
 
struct  GU_UVFlatten::ConstraintSet::AlignInfo
 
class  GU_UVFlatten::ConstraintBundle
 

Namespaces

 GU_UVFlatten
 

Typedefs

using GU_UVFlatten::ROHandleV2R = GA_ROHandleT< UT_Vector2R >
 
using GU_UVFlatten::RWHandleV2R = GA_RWHandleT< UT_Vector2R >
 
using GU_UVFlatten::ROHandleV3R = GA_ROHandleT< UT_Vector3R >
 
using GU_UVFlatten::RWHandleV3R = GA_RWHandleT< UT_Vector3R >
 
using GU_UVFlatten::TriMesh = UT_TriangleMesh
 
using GU_UVFlatten::Tessellation = GU_TriangleMeshR::Tessellation
 
using GU_UVFlatten::AngleConstraint = ConstraintSet::AngleInfo
 
using GU_UVFlatten::AngleConstraintArray = UT_Array< AngleConstraint >
 

Enumerations

enum  GU_UVFlatten::Status {
  GU_UVFlatten::SUCCESS = 0, GU_UVFlatten::INTERRUPTED, GU_UVFlatten::BAD_PARMS, GU_UVFlatten::BAD_BOUNDARY,
  GU_UVFlatten::NUMERICAL_ERROR
}
 
enum  GU_UVFlatten::Method { GU_UVFlatten::SCP, GU_UVFlatten::LSCM, GU_UVFlatten::LINEAR_ABF, GU_UVFlatten::PROJECT }
 

Functions

GU_API Status GU_UVFlatten::flattenProjection (const TriMesh &mesh, const GetFunctor< UT_Vector3R > &get_pt_pos, const SetFunctor< UT_Vector2R > &set_pt_uv)
 
GU_API Status GU_UVFlatten::flattenLSCM (const TriMesh &mesh, const ConstraintSet &constraints, const GetFunctor< UT_Vector3R > &get_pt_pos, int outer_boundary_comp, const SetFunctor< UT_Vector2R > &set_pt_uv)
 
GU_API Status GU_UVFlatten::flattenLSCM (const TriMesh &mesh, const ConstraintSet &constraints, const GetFunctor< fpreal > &hedge_apx_cotan, const GetFunctor< fpreal > &hedge_tri_area, int pin0_pt, int pin1_pt, const SetFunctor< UT_Vector2R > &set_pt_uv)
 
GU_API Status GU_UVFlatten::flattenSCP (const TriMesh &mesh, const ConstraintSet &constraints, const GetFunctor< UT_Vector3R > &get_pt_pos, int outer_boundary_comp, const SetFunctor< UT_Vector2R > &set_pt_uv)
 
GU_API Status GU_UVFlatten::flattenSCP (const TriMesh &mesh, const ConstraintSet &constraints, const GetFunctor< fpreal > &hedge_apx_cotan, const GetFunctor< fpreal > &hedge_tri_area, int outer_boundary_comp, const SetFunctor< UT_Vector2R > &set_pt_uv)
 
GU_API Status GU_UVFlatten::flattenLinearABF (const TriMesh &mesh, const ConstraintSet &constraints, const GetFunctor< UT_Vector3R > &get_pt_pos, int outer_boundary_comp, const SetFunctor< fpreal > &set_vtx_angle)
 
GU_API void GU_UVFlatten::generateStraighLoopConstraints (const TriMesh &mesh, const ConstraintSet &constraints, AngleConstraintArray &angle_constraints)
 
GU_API void GU_UVFlatten::calcConformalEnergyData (const TriMesh &mesh, const GetFunctor< UT_Vector3R > &get_pt_pos, UT_FprealArray &hedge_apx_cotan, UT_FprealArray &hedge_tri_area)
 
GU_API int GU_UVFlatten::longestBoundaryComponent (const TriMesh &mesh, const GetFunctor< UT_Vector3R > &get_pt_pos)
 
GU_API void GU_UVFlatten::pickLSCMDefaultPins (const TriMesh &mesh, const GetFunctor< UT_Vector3R > &get_pt_pos, int outer_boundary_comp, int &pin0_pt, int &pin1_pt)