Blender  V3.3
Classes | Macros | Typedefs | Enumerations
DNA_curves_types.h File Reference
#include "DNA_ID.h"
#include "DNA_customdata_types.h"
#include "BLI_utildefines.h"

Go to the source code of this file.

Classes

struct  CurvesGeometry
 
struct  Curves
 

Macros

#define CURVE_TYPES_NUM   4
 
#define CURVES_MATERIAL_NR   1
 

Typedefs

typedef struct CurvesGeometryRuntimeHandle CurvesGeometryRuntimeHandle
 
typedef enum CurveType CurveType
 
typedef enum HandleType HandleType
 
typedef enum KnotsMode KnotsMode
 
typedef enum NormalMode NormalMode
 
typedef struct CurvesGeometry CurvesGeometry
 
typedef struct Curves Curves
 
typedef enum eCurvesSymmetryType eCurvesSymmetryType
 

Enumerations

enum  CurveType { CURVE_TYPE_CATMULL_ROM = 0 , CURVE_TYPE_POLY = 1 , CURVE_TYPE_BEZIER = 2 , CURVE_TYPE_NURBS = 3 }
 
enum  HandleType { BEZIER_HANDLE_FREE = 0 , BEZIER_HANDLE_AUTO = 1 , BEZIER_HANDLE_VECTOR = 2 , BEZIER_HANDLE_ALIGN = 3 }
 
enum  KnotsMode { NURBS_KNOT_MODE_NORMAL = 0 , NURBS_KNOT_MODE_ENDPOINT = 1 , NURBS_KNOT_MODE_BEZIER = 2 , NURBS_KNOT_MODE_ENDPOINT_BEZIER = 3 }
 
enum  NormalMode { NORMAL_MODE_MINIMUM_TWIST = 0 , NORMAL_MODE_Z_UP = 1 }
 
enum  { HA_DS_EXPAND = (1 << 0) , CV_SCULPT_SELECTION_ENABLED = (1 << 1) }
 
enum  eCurvesSymmetryType { CURVES_SYMMETRY_X = 1 << 0 , CURVES_SYMMETRY_Y = 1 << 1 , CURVES_SYMMETRY_Z = 1 << 2 }
 

Macro Definition Documentation

◆ CURVE_TYPES_NUM

#define CURVE_TYPES_NUM   4

Definition at line 33 of file DNA_curves_types.h.

◆ CURVES_MATERIAL_NR

#define CURVES_MATERIAL_NR   1

Definition at line 169 of file DNA_curves_types.h.

Typedef Documentation

◆ Curves

typedef struct Curves Curves

◆ CurvesGeometry

A reusable data structure for geometry consisting of many curves. All control point data is stored contiguously for better efficiency. Data for each curve is stored as a slice of the main #point_data array.

The data structure is meant to be embedded in other data-blocks to allow reusing curve-processing algorithms for multiple Blender data-block types.

◆ CurvesGeometryRuntimeHandle

Definition at line 1 of file DNA_curves_types.h.

◆ CurveType

typedef enum CurveType CurveType

◆ eCurvesSymmetryType

◆ HandleType

typedef enum HandleType HandleType

◆ KnotsMode

typedef enum KnotsMode KnotsMode

Method used to calculate a NURBS curve's knot vector.

◆ NormalMode

typedef enum NormalMode NormalMode

Method used to calculate the normals of a curve's evaluated points.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Curves.flag

Enumerator
HA_DS_EXPAND 
CV_SCULPT_SELECTION_ENABLED 

Definition at line 155 of file DNA_curves_types.h.

◆ CurveType

enum CurveType
Enumerator
CURVE_TYPE_CATMULL_ROM 
CURVE_TYPE_POLY 
CURVE_TYPE_BEZIER 
CURVE_TYPE_NURBS 

Definition at line 27 of file DNA_curves_types.h.

◆ eCurvesSymmetryType

Curves.symmetry

Enumerator
CURVES_SYMMETRY_X 
CURVES_SYMMETRY_Y 
CURVES_SYMMETRY_Z 

Definition at line 161 of file DNA_curves_types.h.

◆ HandleType

enum HandleType
Enumerator
BEZIER_HANDLE_FREE 

The handle can be moved anywhere, and doesn't influence the point's other handle.

BEZIER_HANDLE_AUTO 

The location is automatically calculated to be smooth.

BEZIER_HANDLE_VECTOR 

The location is calculated to point to the next/previous control point.

BEZIER_HANDLE_ALIGN 

The location is constrained to point in the opposite direction as the other handle.

Definition at line 35 of file DNA_curves_types.h.

◆ KnotsMode

enum KnotsMode

Method used to calculate a NURBS curve's knot vector.

Enumerator
NURBS_KNOT_MODE_NORMAL 
NURBS_KNOT_MODE_ENDPOINT 
NURBS_KNOT_MODE_BEZIER 
NURBS_KNOT_MODE_ENDPOINT_BEZIER 

Definition at line 47 of file DNA_curves_types.h.

◆ NormalMode

enum NormalMode

Method used to calculate the normals of a curve's evaluated points.

Enumerator
NORMAL_MODE_MINIMUM_TWIST 
NORMAL_MODE_Z_UP 

Definition at line 55 of file DNA_curves_types.h.