Blender V4.3
GEO_uv_pack.hh File Reference
#include "BLI_heap.h"
#include "BLI_math_matrix.hh"
#include "BLI_memarena.h"
#include "BLI_span.hh"
#include "BLI_vector.hh"
#include "DNA_space_types.h"
#include "DNA_vec_types.h"

Go to the source code of this file.

Classes

class  blender::geometry::UVPackIsland_Params
 
class  blender::geometry::PackIsland
 

Namespaces

namespace  blender
 
namespace  blender::geometry
 

Enumerations

enum  eUVPackIsland_MarginMethod { ED_UVPACK_MARGIN_SCALED = 0 , ED_UVPACK_MARGIN_ADD , ED_UVPACK_MARGIN_FRACTION }
 
enum  eUVPackIsland_RotationMethod {
  ED_UVPACK_ROTATION_NONE = 0 , ED_UVPACK_ROTATION_AXIS_ALIGNED , ED_UVPACK_ROTATION_AXIS_ALIGNED_X , ED_UVPACK_ROTATION_AXIS_ALIGNED_Y ,
  ED_UVPACK_ROTATION_CARDINAL , ED_UVPACK_ROTATION_ANY
}
 
enum  eUVPackIsland_ShapeMethod { ED_UVPACK_SHAPE_AABB = 0 , ED_UVPACK_SHAPE_CONVEX , ED_UVPACK_SHAPE_CONCAVE }
 
enum  eUVPackIsland_PinMethod {
  ED_UVPACK_PIN_NONE = 0 , ED_UVPACK_PIN_IGNORE , ED_UVPACK_PIN_LOCK_ROTATION , ED_UVPACK_PIN_LOCK_ROTATION_SCALE ,
  ED_UVPACK_PIN_LOCK_SCALE , ED_UVPACK_PIN_LOCK_ALL
}
 

Functions

float blender::geometry::pack_islands (Span< PackIsland * > islands, const UVPackIsland_Params &params)
 
void blender::geometry::mul_v2_m2_add_v2v2 (float r[2], const float mat[2][2], const float a[2], const float b[2])
 

Enumeration Type Documentation

◆ eUVPackIsland_MarginMethod

Enumerator
ED_UVPACK_MARGIN_SCALED 

Use scale of existing UVs to multiply margin.

ED_UVPACK_MARGIN_ADD 

Just add the margin, ignoring any UV scale.

ED_UVPACK_MARGIN_FRACTION 

Specify a precise fraction of final UV output.

Definition at line 22 of file GEO_uv_pack.hh.

◆ eUVPackIsland_PinMethod

Enumerator
ED_UVPACK_PIN_NONE 

Pin has no impact on packing.

ED_UVPACK_PIN_IGNORE 

Ignore islands containing any pinned UV's.

Note
Not exposed in the UI, used only for live-unwrap.
ED_UVPACK_PIN_LOCK_ROTATION 
ED_UVPACK_PIN_LOCK_ROTATION_SCALE 
ED_UVPACK_PIN_LOCK_SCALE 
ED_UVPACK_PIN_LOCK_ALL 

Lock the island in-place (translation, rotation and scale).

Definition at line 55 of file GEO_uv_pack.hh.

◆ eUVPackIsland_RotationMethod

Enumerator
ED_UVPACK_ROTATION_NONE 

No rotation.

ED_UVPACK_ROTATION_AXIS_ALIGNED 

Rotated to a minimal rectangle, either vertical or horizontal.

ED_UVPACK_ROTATION_AXIS_ALIGNED_X 

Align along X axis (wide islands).

ED_UVPACK_ROTATION_AXIS_ALIGNED_Y 

Align along Y axis (tall islands).

ED_UVPACK_ROTATION_CARDINAL 

Only 90 degree rotations are allowed.

ED_UVPACK_ROTATION_ANY 

Any angle.

Definition at line 31 of file GEO_uv_pack.hh.

◆ eUVPackIsland_ShapeMethod

Enumerator
ED_UVPACK_SHAPE_AABB 

Use Axis-Aligned Bounding-Boxes.

ED_UVPACK_SHAPE_CONVEX 

Use convex hull.

ED_UVPACK_SHAPE_CONCAVE 

Use concave hull.

Definition at line 46 of file GEO_uv_pack.hh.