Blender  V3.3
Public Attributes | List of all members
Profile Struct Reference

Public Attributes

float super_r
 
float height
 
float start [3]
 
float middle [3]
 
float end [3]
 
float plane_no [3]
 
float plane_co [3]
 
float proj_dir [3]
 
floatprof_co
 
floatprof_co_2
 
bool special_params
 

Detailed Description

Profile specification: The profile is a path defined with start, middle, and end control points projected onto a plane (plane_no is normal, plane_co is a point on it) via lines in a given direction (proj_dir).

Many interesting profiles are in family of superellipses: (abs(x/a))^r + abs(y/b))^r = 1 r==2 => ellipse; r==1 => line; r < 1 => concave; r > 1 => bulging out. Special cases: let r==0 mean straight-inward, and r==4 mean straight outward.

After the parameters are all set, the actual profile points are calculated and pointed to by prof_co. We also may need profile points for a higher resolution number of segments for the subdivision while making the ADJ vertex mesh pattern, and that goes in prof_co_2.

Definition at line 121 of file bmesh_bevel.c.

Member Data Documentation

◆ end

float Profile::end[3]

◆ height

float Profile::height

Height for profile cutoff face sides.

Definition at line 125 of file bmesh_bevel.c.

Referenced by bevel_build_cutoff(), and calculate_profile().

◆ middle

float Profile::middle[3]

◆ plane_co

float Profile::plane_co[3]

◆ plane_no

float Profile::plane_no[3]

◆ prof_co

float* Profile::prof_co

seg+1 profile coordinates (triples of floats).

Definition at line 139 of file bmesh_bevel.c.

Referenced by calculate_profile(), and get_profile_point().

◆ prof_co_2

float* Profile::prof_co_2

Like prof_co, but for seg power of 2 >= seg.

Definition at line 141 of file bmesh_bevel.c.

Referenced by calculate_profile(), and get_profile_point().

◆ proj_dir

float Profile::proj_dir[3]

◆ special_params

bool Profile::special_params

Mark a special case so the these parameters aren't reset with others.

Definition at line 143 of file bmesh_bevel.c.

Referenced by calculate_vm_profiles(), move_profile_plane(), and move_weld_profile_planes().

◆ start

float Profile::start[3]

◆ super_r

float Profile::super_r

The documentation for this struct was generated from the following file: