Blender V4.3
blender::ed::greasepencil Namespace Reference

Namespaces

namespace  image_render
 
namespace  tests
 
namespace  trim
 
namespace  undo
 

Classes

struct  Clipboard
 
struct  ClosestGreasePencilDrawing
 
struct  ColorTemplate
 
struct  Curves2DBVHTree
 
struct  CurveSegmentsData
 
struct  DrawingInfo
 
class  DrawingPlacement
 
struct  ExtensionData
 
struct  FillBoundary
 
class  ImageBufferAccessor
 
struct  KeyframeClipboard
 
struct  LineartLimitInfo
 
struct  MutableDrawingInfo
 
struct  PerimeterData
 
struct  PointTransferData
 
struct  PrimitiveToolOperation
 

Typedefs

using SelectionUpdateFunc
 

Enumerations

enum class  LayerMoveDirection : int8_t { Up = -1 , Down = 1 }
 
enum class  MergeMode : int8_t { Down = 0 , Group = 1 , All = 2 }
 
enum class  DuplicateCopyMode { All = 0 , Active }
 
enum class  PrimitiveType : int8_t {
  Line = 0 , Polyline = 1 , Arc = 2 , Curve = 3 ,
  Box = 4 , Circle = 5
}
 
enum class  OperatorMode : int8_t {
  Idle = 0 , Extruding = 1 , Grab = 2 , Drag = 3 ,
  DragAll = 4 , RotateAll = 5 , ScaleAll = 6
}
 
enum class  ControlPointType : int8_t { JoinPoint = 0 , HandlePoint = 1 }
 
enum class  ModalKeyMode : int8_t {
  Cancel = 1 , Confirm , Extrude , Panning ,
  Grab , Rotate , Scale , IncreaseSubdivision ,
  DecreaseSubdivision
}
 
enum class  SelectSimilarMode {
  LAYER , MATERIAL , VERTEX_COLOR , RADIUS ,
  OPACITY
}
 
enum class  VertexColorMode : int8_t { Stroke = 0 , Fill = 1 , Both = 2 }
 
enum class  ReprojectMode : int8_t {
  Front , Side , Top , View ,
  Cursor , Surface , Keep
}
 
enum class  DrawingPlacementDepth : int8_t { ObjectOrigin , Cursor , Surface , NearestStroke }
 
enum class  DrawingPlacementPlane : int8_t {
  View , Front , Side , Top ,
  Cursor
}
 
enum  FillToolFitMethod { None , FitToView }
 
enum class  InterpolateFlipMode : int8_t { None = 0 , Flip , FlipAuto }
 
enum class  InterpolateLayerMode : int8_t { Active = 0 , All }
 

Functions

static std::array< float3, 175 > stroke_positions ({ float3(-1.281f, 0.0f, -0.315f), float3(-1.269f, 0.0f, -0.302f), float3(-1.261f, 0.0f, -0.293f), float3(-1.251f, 0.0f, -0.282f), float3(-1.241f, 0.0f, -0.271f), float3(-1.23f, 0.0f, -0.259f), float3(-1.219f, 0.0f, -0.247f), float3(-1.208f, 0.0f, -0.234f), float3(-1.196f, 0.0f, -0.221f), float3(-1.184f, 0.0f, -0.208f), float3(-1.172f, 0.0f, -0.194f), float3(-1.159f, 0.0f, -0.18f), float3(-1.147f, 0.0f, -0.165f), float3(-1.134f, 0.0f, -0.151f), float3(-1.121f, 0.0f, -0.136f), float3(-1.108f, 0.0f, -0.121f), float3(-1.094f, 0.0f, -0.106f), float3(-1.08f, 0.0f, -0.091f), float3(-1.066f, 0.0f, -0.076f), float3(-1.052f, 0.0f, -0.061f), float3(-1.037f, 0.0f, -0.047f), float3(-1.022f, 0.0f, -0.032f), float3(-1.007f, 0.0f, -0.017f), float3(-0.991f, 0.0f, -0.003f), float3(-0.975f, 0.0f, 0.012f), float3(-0.959f, 0.0f, 0.027f), float3(-0.942f, 0.0f, 0.041f), float3(-0.926f, 0.0f, 0.056f), float3(-0.909f, 0.0f, 0.071f), float3(-0.893f, 0.0f, 0.086f), float3(-0.876f, 0.0f, 0.1f), float3(-0.859f, 0.0f, 0.115f), float3(-0.842f, 0.0f, 0.129f), float3(-0.824f, 0.0f, 0.144f), float3(-0.807f, 0.0f, 0.158f), float3(-0.79f, 0.0f, 0.172f), float3(-0.773f, 0.0f, 0.186f), float3(-0.755f, 0.0f, 0.199f), float3(-0.738f, 0.0f, 0.212f), float3(-0.721f, 0.0f, 0.224f), float3(-0.703f, 0.0f, 0.236f), float3(-0.686f, 0.0f, 0.248f), float3(-0.67f, 0.0f, 0.26f), float3(-0.653f, 0.0f, 0.27f), float3(-0.637f, 0.0f, 0.28f), float3(-0.621f, 0.0f, 0.29f), float3(-0.605f, 0.0f, 0.298f), float3(-0.589f, 0.0f, 0.306f), float3(-0.574f, 0.0f, 0.313f), float3(-0.559f, 0.0f, 0.319f), float3(-0.544f, 0.0f, 0.325f), float3(-0.53f, 0.0f, 0.331f), float3(-0.516f, 0.0f, 0.336f), float3(-0.503f, 0.0f, 0.34f), float3(-0.489f, 0.0f, 0.344f), float3(-0.477f, 0.0f, 0.347f), float3(-0.464f, 0.0f, 0.35f), float3(-0.452f, 0.0f, 0.352f), float3(-0.44f, 0.0f, 0.354f), float3(-0.429f, 0.0f, 0.355f), float3(-0.418f, 0.0f, 0.355f), float3(-0.407f, 0.0f, 0.355f), float3(-0.397f, 0.0f, 0.354f), float3(-0.387f, 0.0f, 0.353f), float3(-0.378f, 0.0f, 0.351f), float3(-0.368f, 0.0f, 0.348f), float3(-0.36f, 0.0f, 0.344f), float3(-0.351f, 0.0f, 0.34f), float3(-0.344f, 0.0f, 0.336f), float3(-0.336f, 0.0f, 0.33f), float3(-0.329f, 0.0f, 0.324f), float3(-0.322f, 0.0f, 0.318f), float3(-0.316f, 0.0f, 0.31f), float3(-0.311f, 0.0f, 0.303f), float3(-0.306f, 0.0f, 0.294f), float3(-0.301f, 0.0f, 0.285f), float3(-0.297f, 0.0f, 0.275f), float3(-0.293f, 0.0f, 0.264f), float3(-0.29f, 0.0f, 0.253f), float3(-0.288f, 0.0f, 0.241f), float3(-0.286f, 0.0f, 0.229f), float3(-0.285f, 0.0f, 0.216f), float3(-0.284f, 0.0f, 0.202f), float3(-0.283f, 0.0f, 0.188f), float3(-0.283f, 0.0f, 0.173f), float3(-0.284f, 0.0f, 0.158f), float3(-0.285f, 0.0f, 0.142f), float3(-0.286f, 0.0f, 0.125f), float3(-0.288f, 0.0f, 0.108f), float3(-0.29f, 0.0f, 0.091f), float3(-0.293f, 0.0f, 0.073f), float3(-0.295f, 0.0f, 0.054f), float3(-0.298f, 0.0f, 0.035f), float3(-0.302f, 0.0f, 0.016f), float3(-0.305f, 0.0f, -0.004f), float3(-0.309f, 0.0f, -0.024f), float3(-0.313f, 0.0f, -0.044f), float3(-0.317f, 0.0f, -0.065f), float3(-0.321f, 0.0f, -0.085f), float3(-0.326f, 0.0f, -0.106f), float3(-0.33f, 0.0f, -0.127f), float3(-0.335f, 0.0f, -0.148f), float3(-0.339f, 0.0f, -0.168f), float3(-0.344f, 0.0f, -0.189f), float3(-0.348f, 0.0f, -0.21f), float3(-0.353f, 0.0f, -0.23f), float3(-0.357f, 0.0f, -0.25f), float3(-0.361f, 0.0f, -0.27f), float3(-0.365f, 0.0f, -0.29f), float3(-0.369f, 0.0f, -0.309f), float3(-0.372f, 0.0f, -0.328f), float3(-0.375f, 0.0f, -0.347f), float3(-0.377f, 0.0f, -0.365f), float3(-0.379f, 0.0f, -0.383f), float3(-0.38f, 0.0f, -0.4f), float3(-0.38f, 0.0f, -0.417f), float3(-0.38f, 0.0f, -0.434f), float3(-0.379f, 0.0f, -0.449f), float3(-0.377f, 0.0f, -0.464f), float3(-0.374f, 0.0f, -0.478f), float3(-0.371f, 0.0f, -0.491f), float3(-0.366f, 0.0f, -0.503f), float3(-0.361f, 0.0f, -0.513f), float3(-0.354f, 0.0f, -0.523f), float3(-0.347f, 0.0f, -0.531f), float3(-0.339f, 0.0f, -0.538f), float3(-0.33f, 0.0f, -0.543f), float3(-0.32f, 0.0f, -0.547f), float3(-0.31f, 0.0f, -0.549f), float3(-0.298f, 0.0f, -0.55f), float3(-0.286f, 0.0f, -0.55f), float3(-0.274f, 0.0f, -0.548f), float3(-0.261f, 0.0f, -0.544f), float3(-0.247f, 0.0f, -0.539f), float3(-0.232f, 0.0f, -0.533f), float3(-0.218f, 0.0f, -0.525f), float3(-0.202f, 0.0f, -0.515f), float3(-0.186f, 0.0f, -0.503f), float3(-0.169f, 0.0f, -0.49f), float3(-0.151f, 0.0f, -0.475f), float3(-0.132f, 0.0f, -0.458f), float3(-0.112f, 0.0f, -0.44f), float3(-0.091f, 0.0f, -0.42f), float3(-0.069f, 0.0f, -0.398f), float3(-0.045f, 0.0f, -0.375f), float3(-0.021f, 0.0f, -0.35f), float3(0.005f, 0.0f, -0.324f), float3(0.031f, 0.0f, -0.297f), float3(0.06f, 0.0f, -0.268f), float3(0.089f, 0.0f, -0.238f), float3(0.12f, 0.0f, -0.207f), float3(0.153f, 0.0f, -0.175f), float3(0.187f, 0.0f, -0.14f), float3(0.224f, 0.0f, -0.104f), float3(0.262f, 0.0f, -0.067f), float3(0.302f, 0.0f, -0.027f), float3(0.344f, 0.0f, 0.014f), float3(0.388f, 0.0f, 0.056f), float3(0.434f, 0.0f, 0.1f), float3(0.483f, 0.0f, 0.145f), float3(0.533f, 0.0f, 0.191f), float3(0.585f, 0.0f, 0.238f), float3(0.637f, 0.0f, 0.284f), float3(0.69f, 0.0f, 0.33f), float3(0.746f, 0.0f, 0.376f), float3(0.802f, 0.0f, 0.421f), float3(0.859f, 0.0f, 0.464f), float3(0.915f, 0.0f, 0.506f), float3(0.97f, 0.0f, 0.545f), float3(1.023f, 0.0f, 0.581f), float3(1.075f, 0.0f, 0.614f), float3(1.122f, 0.0f, 0.643f), float3(1.169f, 0.0f, 0.671f), float3(1.207f, 0.0f, 0.693f), float3(1.264f, 0.0f, 0.725f), })
 
static constexpr std::array< float, 175 > stroke_radii ({ 0.00143, 0.00259, 0.00334, 0.00420, 0.00503, 0.00581, 0.00656, 0.00728, 0.00791, 0.00851, 0.00907, 0.00960, 0.01005, 0.01050, 0.01087, 0.01121, 0.01151, 0.01181, 0.01208, 0.01234, 0.01256, 0.01279, 0.01297, 0.01316, 0.01331, 0.01350, 0.01365, 0.01380, 0.01391, 0.01399, 0.01410, 0.01414, 0.01418, 0.01421, 0.01421, 0.01421, 0.01425, 0.01425, 0.01429, 0.01433, 0.01440, 0.01448, 0.01455, 0.01462, 0.01474, 0.01485, 0.01496, 0.01511, 0.01526, 0.01541, 0.01556, 0.01575, 0.01594, 0.01616, 0.01639, 0.01661, 0.01688, 0.01714, 0.01740, 0.01766, 0.01796, 0.01826, 0.01856, 0.01886, 0.01920, 0.01950, 0.01980, 0.02014, 0.02044, 0.02074, 0.02107, 0.02138, 0.02171, 0.02205, 0.02239, 0.02273, 0.02306, 0.02344, 0.02381, 0.02415, 0.02452, 0.02490, 0.02531, 0.02569, 0.02610, 0.02651, 0.02693, 0.02734, 0.02775, 0.02816, 0.02854, 0.02895, 0.02933, 0.02974, 0.03015, 0.03056, 0.03105, 0.03161, 0.03225, 0.03296, 0.03364, 0.03431, 0.03495, 0.03551, 0.03608, 0.03652, 0.03694, 0.03731, 0.03765, 0.03791, 0.03818, 0.03840, 0.03859, 0.03874, 0.03885, 0.03889, 0.03889, 0.03881, 0.03870, 0.03859, 0.03848, 0.03836, 0.03829, 0.03821, 0.03814, 0.03810, 0.03810, 0.03810, 0.03810, 0.03814, 0.03814, 0.03818, 0.03814, 0.03814, 0.03810, 0.03806, 0.03799, 0.03784, 0.03769, 0.03743, 0.03713, 0.03675, 0.03630, 0.03581, 0.03521, 0.03461, 0.03405, 0.03356, 0.03308, 0.03263, 0.03218, 0.03165, 0.03105, 0.03038, 0.02963, 0.02884, 0.02801, 0.02715, 0.02625, 0.02535, 0.02441, 0.02344, 0.02246, 0.02149, 0.02048, 0.01935, 0.01811, 0.01673, 0.01526, 0.01369, 0.01208, 0.01050, 0.00885, 0.00758, 0.00581, })
 
static constexpr std::array< float, 175 > stroke_opacities ({ 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, })
 
static std::array< float3, 700 > monkey_fill_positions ({ float3(-0.4911, 0.0000, -0.1781), float3(-0.5168, 0.0000, -0.1806), float3(-0.5361, 0.0000, -0.1817), float3(-0.5618, 0.0000, -0.1829), float3(-0.5892, 0.0000, -0.1827), float3(-0.6193, 0.0000, -0.1814), float3(-0.6499, 0.0000, -0.1782), float3(-0.6808, 0.0000, -0.1729), float3(-0.7107, 0.0000, -0.1651), float3(-0.7404, 0.0000, -0.1555), float3(-0.7698, 0.0000, -0.1447), float3(-0.7993, 0.0000, -0.1332), float3(-0.8289, 0.0000, -0.1209), float3(-0.8586, 0.0000, -0.1090), float3(-0.8871, 0.0000, -0.0973), float3(-0.9125, 0.0000, -0.0838), float3(-0.9353, 0.0000, -0.0688), float3(-0.9561, 0.0000, -0.0525), float3(-0.9752, 0.0000, -0.0346), float3(-0.9944, 0.0000, -0.0160), float3(-1.0148, 0.0000, 0.0028), float3(-1.0348, 0.0000, 0.0215), float3(-1.0500, 0.0000, 0.0407), float3(-1.0639, 0.0000, 0.0613), float3(-1.0752, 0.0000, 0.0838), float3(-1.0848, 0.0000, 0.1082), float3(-1.0936, 0.0000, 0.1346), float3(-1.1024, 0.0000, 0.1639), float3(-1.1102, 0.0000, 0.1953), float3(-1.1128, 0.0000, 0.2277), float3(-1.1091, 0.0000, 0.2579), float3(-1.1023, 0.0000, 0.2849), float3(-1.0934, 0.0000, 0.3086), float3(-1.0831, 0.0000, 0.3285), float3(-1.0724, 0.0000, 0.3451), float3(-1.0607, 0.0000, 0.3594), float3(-1.0474, 0.0000, 0.3713), float3(-1.0310, 0.0000, 0.3804), float3(-1.0108, 0.0000, 0.3874), float3(-0.9862, 0.0000, 0.3922), float3(-0.9568, 0.0000, 0.3941), float3(-0.9243, 0.0000, 0.3934), float3(-0.8897, 0.0000, 0.3861), float3(-0.8556, 0.0000, 0.3754), float3(-0.8237, 0.0000, 0.3608), float3(-0.7982, 0.0000, 0.3440), float3(-0.7786, 0.0000, 0.3290), float3(-0.7633, 0.0000, 0.3183), float3(-0.7498, 0.0000, 0.3135), float3(-0.7374, 0.0000, 0.3134), float3(-0.7261, 0.0000, 0.3179), float3(-0.7146, 0.0000, 0.3262), float3(-0.7030, 0.0000, 0.3395), float3(-0.6920, 0.0000, 0.3576), float3(-0.6831, 0.0000, 0.3806), float3(-0.6748, 0.0000, 0.4052), float3(-0.6648, 0.0000, 0.4305), float3(-0.6527, 0.0000, 0.4549), float3(-0.6375, 0.0000, 0.4783), float3(-0.6195, 0.0000, 0.5021), float3(-0.5985, 0.0000, 0.5256), float3(-0.5775, 0.0000, 0.5488), float3(-0.5560, 0.0000, 0.5715), float3(-0.5339, 0.0000, 0.5930), float3(-0.5119, 0.0000, 0.6130), float3(-0.4905, 0.0000, 0.6312), float3(-0.4697, 0.0000, 0.6474), float3(-0.4499, 0.0000, 0.6613), float3(-0.4306, 0.0000, 0.6734), float3(-0.4116, 0.0000, 0.6845), float3(-0.3918, 0.0000, 0.6954), float3(-0.3709, 0.0000, 0.7059), float3(-0.3486, 0.0000, 0.7157), float3(-0.3251, 0.0000, 0.7249), float3(-0.3006, 0.0000, 0.7333), float3(-0.2755, 0.0000, 0.7414), float3(-0.2500, 0.0000, 0.7489), float3(-0.2242, 0.0000, 0.7562), float3(-0.1979, 0.0000, 0.7631), float3(-0.1710, 0.0000, 0.7695), float3(-0.1434, 0.0000, 0.7752), float3(-0.1151, 0.0000, 0.7801), float3(-0.0861, 0.0000, 0.7841), float3(-0.0563, 0.0000, 0.7869), float3(-0.0260, 0.0000, 0.7889), float3(0.0049, 0.0000, 0.7899), float3(0.0362, 0.0000, 0.7898), float3(0.0679, 0.0000, 0.7881), float3(0.0996, 0.0000, 0.7853), float3(0.1313, 0.0000, 0.7812), float3(0.1632, 0.0000, 0.7756), float3(0.1953, 0.0000, 0.7687), float3(0.2277, 0.0000, 0.7608), float3(0.2606, 0.0000, 0.7513), float3(0.2934, 0.0000, 0.7404), float3(0.3258, 0.0000, 0.7276), float3(0.3570, 0.0000, 0.7135), float3(0.3870, 0.0000, 0.6983), float3(0.4157, 0.0000, 0.6819), float3(0.4440, 0.0000, 0.6645), float3(0.4719, 0.0000, 0.6459), float3(0.4994, 0.0000, 0.6261), float3(0.5260, 0.0000, 0.6046), float3(0.5520, 0.0000, 0.5816), float3(0.5770, 0.0000, 0.5575), float3(0.6008, 0.0000, 0.5328), float3(0.6231, 0.0000, 0.5077), float3(0.6423, 0.0000, 0.4829), float3(0.6580, 0.0000, 0.4617), float3(0.6713, 0.0000, 0.4432), float3(0.6828, 0.0000, 0.4266), float3(0.6928, 0.0000, 0.4118), float3(0.7016, 0.0000, 0.3987), float3(0.7094, 0.0000, 0.3871), float3(0.7165, 0.0000, 0.3769), float3(0.7233, 0.0000, 0.3679), float3(0.7301, 0.0000, 0.3598), float3(0.7373, 0.0000, 0.3524), float3(0.7454, 0.0000, 0.3458), float3(0.7545, 0.0000, 0.3398), float3(0.7651, 0.0000, 0.3351), float3(0.7770, 0.0000, 0.3317), float3(0.7909, 0.0000, 0.3311), float3(0.8068, 0.0000, 0.3340), float3(0.8246, 0.0000, 0.3398), float3(0.8438, 0.0000, 0.3486), float3(0.8651, 0.0000, 0.3575), float3(0.8893, 0.0000, 0.3665), float3(0.9166, 0.0000, 0.3740), float3(0.9459, 0.0000, 0.3791), float3(0.9751, 0.0000, 0.3811), float3(1.0029, 0.0000, 0.3800), float3(1.0288, 0.0000, 0.3754), float3(1.0520, 0.0000, 0.3673), float3(1.0722, 0.0000, 0.3556), float3(1.0888, 0.0000, 0.3403), float3(1.1027, 0.0000, 0.3220), float3(1.1133, 0.0000, 0.3010), float3(1.1215, 0.0000, 0.2780), float3(1.1269, 0.0000, 0.2534), float3(1.1296, 0.0000, 0.2284), float3(1.1292, 0.0000, 0.2031), float3(1.1254, 0.0000, 0.1778), float3(1.1178, 0.0000, 0.1530), float3(1.1076, 0.0000, 0.1299), float3(1.0955, 0.0000, 0.1079), float3(1.0817, 0.0000, 0.0870), float3(1.0668, 0.0000, 0.0677), float3(1.0508, 0.0000, 0.0491), float3(1.0339, 0.0000, 0.0313), float3(1.0157, 0.0000, 0.0144), float3(0.9969, 0.0000, -0.0015), float3(0.9784, 0.0000, -0.0170), float3(0.9600, 0.0000, -0.0321), float3(0.9413, 0.0000, -0.0468), float3(0.9216, 0.0000, -0.0611), float3(0.9009, 0.0000, -0.0751), float3(0.8787, 0.0000, -0.0893), float3(0.8556, 0.0000, -0.1027), float3(0.8312, 0.0000, -0.1152), float3(0.8058, 0.0000, -0.1268), float3(0.7788, 0.0000, -0.1372), float3(0.7505, 0.0000, -0.1467), float3(0.7214, 0.0000, -0.1549), float3(0.6929, 0.0000, -0.1617), float3(0.6652, 0.0000, -0.1665), float3(0.6388, 0.0000, -0.1691), float3(0.6131, 0.0000, -0.1701), float3(0.5883, 0.0000, -0.1699), float3(0.5644, 0.0000, -0.1691), float3(0.5416, 0.0000, -0.1683), float3(0.5195, 0.0000, -0.1680), float3(0.4975, 0.0000, -0.1687), float3(0.4754, 0.0000, -0.1705), float3(0.4527, 0.0000, -0.1741), float3(0.4293, 0.0000, -0.1797), float3(0.4054, 0.0000, -0.1881), float3(0.3813, 0.0000, -0.1992), float3(0.3585, 0.0000, -0.2120), float3(0.3368, 0.0000, -0.2266), float3(0.3174, 0.0000, -0.2426), float3(0.2996, 0.0000, -0.2594), float3(0.2840, 0.0000, -0.2768), float3(0.2702, 0.0000, -0.2946), float3(0.2585, 0.0000, -0.3127), float3(0.2500, 0.0000, -0.3308), float3(0.2447, 0.0000, -0.3489), float3(0.2418, 0.0000, -0.3672), float3(0.2412, 0.0000, -0.3860), float3(0.2425, 0.0000, -0.4051), float3(0.2456, 0.0000, -0.4246), float3(0.2509, 0.0000, -0.4447), float3(0.2576, 0.0000, -0.4652), float3(0.2666, 0.0000, -0.4867), float3(0.2766, 0.0000, -0.5091), float3(0.2871, 0.0000, -0.5326), float3(0.2973, 0.0000, -0.5569), float3(0.3060, 0.0000, -0.5826), float3(0.3131, 0.0000, -0.6100), float3(0.3197, 0.0000, -0.6384), float3(0.3260, 0.0000, -0.6681), float3(0.3315, 0.0000, -0.6984), float3(0.3360, 0.0000, -0.7291), float3(0.3391, 0.0000, -0.7593), float3(0.3399, 0.0000, -0.7884), float3(0.3382, 0.0000, -0.8158), float3(0.3340, 0.0000, -0.8417), float3(0.3273, 0.0000, -0.8657), float3(0.3185, 0.0000, -0.8881), float3(0.3073, 0.0000, -0.9088), float3(0.2941, 0.0000, -0.9278), float3(0.2786, 0.0000, -0.9449), float3(0.2610, 0.0000, -0.9600), float3(0.2413, 0.0000, -0.9733), float3(0.2193, 0.0000, -0.9845), float3(0.1953, 0.0000, -0.9935), float3(0.1693, 0.0000, -1.0004), float3(0.1421, 0.0000, -1.0051), float3(0.1136, 0.0000, -1.0072), float3(0.0842, 0.0000, -1.0073), float3(0.0548, 0.0000, -1.0059), float3(0.0258, 0.0000, -1.0037), float3(-0.0027, 0.0000, -1.0003), float3(-0.0309, 0.0000, -0.9959), float3(-0.0584, 0.0000, -0.9904), float3(-0.0858, 0.0000, -0.9848), float3(-0.1127, 0.0000, -0.9783), float3(-0.1386, 0.0000, -0.9703), float3(-0.1649, 0.0000, -0.9604), float3(-0.1910, 0.0000, -0.9479), float3(-0.2165, 0.0000, -0.9345), float3(-0.2414, 0.0000, -0.9205), float3(-0.2654, 0.0000, -0.9055), float3(-0.2877, 0.0000, -0.8898), float3(-0.3076, 0.0000, -0.8723), float3(-0.3240, 0.0000, -0.8532), float3(-0.3367, 0.0000, -0.8316), float3(-0.3451, 0.0000, -0.8077), float3(-0.3505, 0.0000, -0.7829), float3(-0.3531, 0.0000, -0.7584), float3(-0.3528, 0.0000, -0.7349), float3(-0.3503, 0.0000, -0.7115), float3(-0.3460, 0.0000, -0.6880), float3(-0.3411, 0.0000, -0.6643), float3(-0.3361, 0.0000, -0.6403), float3(-0.3304, 0.0000, -0.6164), float3(-0.3244, 0.0000, -0.5925), float3(-0.3180, 0.0000, -0.5687), float3(-0.3124, 0.0000, -0.5441), float3(-0.3051, 0.0000, -0.5191), float3(-0.2959, 0.0000, -0.4917), float3(-0.2882, 0.0000, -0.4639), float3(-0.2814, 0.0000, -0.4363), float3(-0.2759, 0.0000, -0.4084), float3(-0.2707, 0.0000, -0.3827), float3(-0.2703, 0.0000, -0.3586), float3(-0.2772, 0.0000, -0.3375), float3(-0.2871, 0.0000, -0.3178), float3(-0.2995, 0.0000, -0.2996), float3(-0.3145, 0.0000, -0.2830), float3(-0.3320, 0.0000, -0.2672), float3(-0.3488, 0.0000, -0.2531), float3(-0.3639, 0.0000, -0.2407), float3(-0.3778, 0.0000, -0.2292), float3(-0.3909, 0.0000, -0.2191), float3(-0.4032, 0.0000, -0.2102), float3(-0.4146, 0.0000, -0.2027), float3(-0.4260, 0.0000, -0.1968), float3(-0.4348, 0.0000, -0.1931), float3(-0.4479, 0.0000, -0.1886), float3(0.5292, 0.0000, 0.1742), float3(0.5291, 0.0000, 0.1621), float3(0.5274, 0.0000, 0.1386), float3(0.5239, 0.0000, 0.1160), float3(0.5185, 0.0000, 0.0945), float3(0.5115, 0.0000, 0.0741), float3(0.5030, 0.0000, 0.0548), float3(0.4931, 0.0000, 0.0368), float3(0.4820, 0.0000, 0.0200), float3(0.4697, 0.0000, 0.0046), float3(0.4565, 0.0000, -0.0094), float3(0.4424, 0.0000, -0.0219), float3(0.4275, 0.0000, -0.0330), float3(0.4121, 0.0000, -0.0424), float3(0.3961, 0.0000, -0.0501), float3(0.3799, 0.0000, -0.0562), float3(0.3634, 0.0000, -0.0605), float3(0.3468, 0.0000, -0.0629), float3(0.3303, 0.0000, -0.0634), float3(0.3139, 0.0000, -0.0620), float3(0.2979, 0.0000, -0.0585), float3(0.2823, 0.0000, -0.0529), float3(0.2672, 0.0000, -0.0452), float3(0.2529, 0.0000, -0.0352), float3(0.2393, 0.0000, -0.0230), float3(0.2267, 0.0000, -0.0085), float3(0.2153, 0.0000, 0.0085), float3(0.2050, 0.0000, 0.0279), float3(0.1960, 0.0000, 0.0499), float3(0.1886, 0.0000, 0.0745), float3(0.1827, 0.0000, 0.1017), float3(0.1786, 0.0000, 0.1316), float3(0.1763, 0.0000, 0.1643), float3(-0.0844, 0.0000, -0.3010), float3(-0.0825, 0.0000, -0.3034), float3(-0.0751, 0.0000, -0.3128), float3(-0.0677, 0.0000, -0.3216), float3(-0.0600, 0.0000, -0.3298), float3(-0.0522, 0.0000, -0.3372), float3(-0.0440, 0.0000, -0.3437), float3(-0.0354, 0.0000, -0.3491), float3(-0.0264, 0.0000, -0.3535), float3(-0.0168, 0.0000, -0.3566), float3(-0.0065, 0.0000, -0.3583), float3(0.0045, 0.0000, -0.3585), float3(0.0163, 0.0000, -0.3571), float3(0.0290, 0.0000, -0.3540), float3(0.0427, 0.0000, -0.3491), float3(0.0574, 0.0000, -0.3421), float3(0.0732, 0.0000, -0.3331), float3(0.0816, 0.0000, -0.3278), float3(-0.6551, 0.0000, 0.4448), float3(-0.6353, 0.0000, 0.4689), float3(-0.6211, 0.0000, 0.4845), float3(-0.6033, 0.0000, 0.5034), float3(-0.5856, 0.0000, 0.5211), float3(-0.5672, 0.0000, 0.5387), float3(-0.5485, 0.0000, 0.5555), float3(-0.5295, 0.0000, 0.5718), float3(-0.5103, 0.0000, 0.5875), float3(-0.4909, 0.0000, 0.6028), float3(-0.4712, 0.0000, 0.6174), float3(-0.4512, 0.0000, 0.6313), float3(-0.4307, 0.0000, 0.6444), float3(-0.4099, 0.0000, 0.6568), float3(-0.3884, 0.0000, 0.6684), float3(-0.3665, 0.0000, 0.6793), float3(-0.3439, 0.0000, 0.6893), float3(-0.3207, 0.0000, 0.6984), float3(-0.2971, 0.0000, 0.7069), float3(-0.2731, 0.0000, 0.7148), float3(-0.2490, 0.0000, 0.7222), float3(-0.2247, 0.0000, 0.7292), float3(-0.2003, 0.0000, 0.7356), float3(-0.1759, 0.0000, 0.7416), float3(-0.1515, 0.0000, 0.7471), float3(-0.1272, 0.0000, 0.7518), float3(-0.1028, 0.0000, 0.7556), float3(-0.0785, 0.0000, 0.7586), float3(-0.0543, 0.0000, 0.7607), float3(-0.0302, 0.0000, 0.7621), float3(-0.0062, 0.0000, 0.7627), float3(0.0177, 0.0000, 0.7625), float3(0.0415, 0.0000, 0.7616), float3(0.0652, 0.0000, 0.7602), float3(0.0887, 0.0000, 0.7583), float3(0.1122, 0.0000, 0.7559), float3(0.1355, 0.0000, 0.7529), float3(0.1585, 0.0000, 0.7493), float3(0.1814, 0.0000, 0.7451), float3(0.2041, 0.0000, 0.7404), float3(0.2266, 0.0000, 0.7352), float3(0.2488, 0.0000, 0.7290), float3(0.2706, 0.0000, 0.7216), float3(0.2921, 0.0000, 0.7131), float3(0.3135, 0.0000, 0.7041), float3(0.3348, 0.0000, 0.6945), float3(0.3559, 0.0000, 0.6845), float3(0.3769, 0.0000, 0.6739), float3(0.3978, 0.0000, 0.6628), float3(0.4185, 0.0000, 0.6510), float3(0.4390, 0.0000, 0.6383), float3(0.4594, 0.0000, 0.6249), float3(0.4795, 0.0000, 0.6106), float3(0.4995, 0.0000, 0.5956), float3(0.5193, 0.0000, 0.5801), float3(0.5390, 0.0000, 0.5642), float3(0.5586, 0.0000, 0.5479), float3(0.5780, 0.0000, 0.5312), float3(0.5970, 0.0000, 0.5141), float3(0.6153, 0.0000, 0.4966), float3(0.6324, 0.0000, 0.4797), float3(0.6498, 0.0000, 0.4620), float3(0.6638, 0.0000, 0.4477), float3(0.6843, 0.0000, 0.4263), float3(-0.7765, 0.0000, 0.3255), float3(-0.7908, 0.0000, 0.3335), float3(-0.8048, 0.0000, 0.3402), float3(-0.8225, 0.0000, 0.3467), float3(-0.8426, 0.0000, 0.3529), float3(-0.8651, 0.0000, 0.3587), float3(-0.8878, 0.0000, 0.3633), float3(-0.9105, 0.0000, 0.3670), float3(-0.9323, 0.0000, 0.3693), float3(-0.9529, 0.0000, 0.3701), float3(-0.9720, 0.0000, 0.3695), float3(-0.9896, 0.0000, 0.3675), float3(-1.0057, 0.0000, 0.3640), float3(-1.0203, 0.0000, 0.3592), float3(-1.0333, 0.0000, 0.3528), float3(-1.0447, 0.0000, 0.3452), float3(-1.0546, 0.0000, 0.3362), float3(-1.0633, 0.0000, 0.3261), float3(-1.0708, 0.0000, 0.3150), float3(-1.0767, 0.0000, 0.3027), float3(-1.0818, 0.0000, 0.2894), float3(-1.0861, 0.0000, 0.2752), float3(-1.0897, 0.0000, 0.2604), float3(-1.0922, 0.0000, 0.2446), float3(-1.0938, 0.0000, 0.2277), float3(-1.0944, 0.0000, 0.2098), float3(-1.0939, 0.0000, 0.1910), float3(-1.0924, 0.0000, 0.1714), float3(-1.0897, 0.0000, 0.1511), float3(-1.0855, 0.0000, 0.1303), float3(-1.0798, 0.0000, 0.1095), float3(-1.0723, 0.0000, 0.0890), float3(-1.0642, 0.0000, 0.0702), float3(0.8135, 0.0000, 0.3341), float3(0.8191, 0.0000, 0.3376), float3(0.8246, 0.0000, 0.3408), float3(0.8304, 0.0000, 0.3438), float3(0.8368, 0.0000, 0.3465), float3(0.8430, 0.0000, 0.3491), float3(0.8494, 0.0000, 0.3515), float3(0.8558, 0.0000, 0.3536), float3(0.8623, 0.0000, 0.3557), float3(0.8688, 0.0000, 0.3575), float3(0.8752, 0.0000, 0.3593), float3(0.8813, 0.0000, 0.3609), float3(0.8872, 0.0000, 0.3625), float3(0.8929, 0.0000, 0.3640), float3(0.8984, 0.0000, 0.3653), float3(0.9039, 0.0000, 0.3665), float3(0.9093, 0.0000, 0.3675), float3(0.9146, 0.0000, 0.3684), float3(0.9199, 0.0000, 0.3692), float3(0.9253, 0.0000, 0.3698), float3(0.9305, 0.0000, 0.3703), float3(0.9358, 0.0000, 0.3706), float3(0.9410, 0.0000, 0.3709), float3(0.9462, 0.0000, 0.3710), float3(0.9514, 0.0000, 0.3710), float3(0.9566, 0.0000, 0.3708), float3(0.9617, 0.0000, 0.3706), float3(0.9668, 0.0000, 0.3702), float3(0.9718, 0.0000, 0.3697), float3(0.9768, 0.0000, 0.3692), float3(0.9818, 0.0000, 0.3685), float3(0.9867, 0.0000, 0.3677), float3(0.9916, 0.0000, 0.3667), float3(0.9964, 0.0000, 0.3657), float3(1.0012, 0.0000, 0.3646), float3(1.0060, 0.0000, 0.3634), float3(1.0107, 0.0000, 0.3621), float3(1.0154, 0.0000, 0.3607), float3(1.0200, 0.0000, 0.3593), float3(1.0245, 0.0000, 0.3577), float3(1.0290, 0.0000, 0.3561), float3(1.0335, 0.0000, 0.3543), float3(1.0379, 0.0000, 0.3525), float3(1.0422, 0.0000, 0.3507), float3(1.0465, 0.0000, 0.3487), float3(1.0507, 0.0000, 0.3468), float3(1.0549, 0.0000, 0.3447), float3(1.0591, 0.0000, 0.3427), float3(1.0633, 0.0000, 0.3404), float3(1.0675, 0.0000, 0.3380), float3(1.0717, 0.0000, 0.3351), float3(1.0761, 0.0000, 0.3318), float3(1.0805, 0.0000, 0.3279), float3(1.0849, 0.0000, 0.3235), float3(1.0893, 0.0000, 0.3186), float3(1.0936, 0.0000, 0.3134), float3(1.0979, 0.0000, 0.3076), float3(1.1020, 0.0000, 0.3017), float3(1.1060, 0.0000, 0.2953), float3(1.1097, 0.0000, 0.2890), float3(1.1132, 0.0000, 0.2826), float3(1.1164, 0.0000, 0.2766), float3(1.1193, 0.0000, 0.2708), float3(1.1221, 0.0000, 0.2652), float3(-0.2677, 0.0000, -0.3496), float3(-0.2658, 0.0000, -0.3919), float3(-0.2657, 0.0000, -0.4295), float3(-0.2691, 0.0000, -0.4621), float3(-0.2750, 0.0000, -0.4949), float3(-0.2828, 0.0000, -0.5270), float3(-0.2911, 0.0000, -0.5578), float3(-0.2971, 0.0000, -0.5884), float3(-0.3030, 0.0000, -0.6181), float3(-0.3089, 0.0000, -0.6467), float3(-0.3148, 0.0000, -0.6738), float3(-0.3196, 0.0000, -0.7000), float3(-0.3230, 0.0000, -0.7253), float3(-0.3234, 0.0000, -0.7496), float3(-0.3219, 0.0000, -0.7728), float3(-0.3184, 0.0000, -0.7949), float3(-0.3103, 0.0000, -0.8138), float3(-0.3004, 0.0000, -0.8307), float3(-0.2892, 0.0000, -0.8464), float3(-0.2766, 0.0000, -0.8611), float3(-0.2618, 0.0000, -0.8735), float3(-0.2469, 0.0000, -0.8853), float3(-0.2315, 0.0000, -0.8964), float3(-0.2158, 0.0000, -0.9068), float3(-0.1997, 0.0000, -0.9167), float3(-0.1833, 0.0000, -0.9262), float3(-0.1663, 0.0000, -0.9355), float3(-0.1481, 0.0000, -0.9445), float3(-0.1282, 0.0000, -0.9534), float3(-0.1077, 0.0000, -0.9625), float3(-0.0854, 0.0000, -0.9718), float3(-0.0616, 0.0000, -0.9813), float3(-0.0248, 0.0000, -0.9920), float3(-0.0618, 0.0000, -0.1922), float3(-0.0703, 0.0000, -0.2021), float3(-0.0758, 0.0000, -0.2103), float3(-0.0803, 0.0000, -0.2206), float3(-0.0830, 0.0000, -0.2307), float3(-0.0851, 0.0000, -0.2405), float3(-0.0865, 0.0000, -0.2499), float3(-0.0872, 0.0000, -0.2588), float3(-0.0869, 0.0000, -0.2673), float3(-0.0858, 0.0000, -0.2754), float3(-0.0831, 0.0000, -0.2829), float3(-0.0791, 0.0000, -0.2898), float3(-0.0740, 0.0000, -0.2966), float3(-0.0674, 0.0000, -0.3030), float3(-0.0591, 0.0000, -0.3084), float3(-0.0465, 0.0000, -0.3134), float3(-0.0331, 0.0000, -0.3165), float3(-0.0150, 0.0000, -0.3180), float3(0.5311, 0.0000, 0.1661), float3(0.5307, 0.0000, 0.1794), float3(0.5277, 0.0000, 0.2057), float3(0.5218, 0.0000, 0.2314), float3(0.5130, 0.0000, 0.2560), float3(0.5014, 0.0000, 0.2790), float3(0.4874, 0.0000, 0.3001), float3(0.4711, 0.0000, 0.3189), float3(0.4529, 0.0000, 0.3351), float3(0.4329, 0.0000, 0.3483), float3(0.4117, 0.0000, 0.3585), float3(0.3894, 0.0000, 0.3654), float3(0.3666, 0.0000, 0.3689), float3(0.3435, 0.0000, 0.3689), float3(0.3207, 0.0000, 0.3654), float3(0.2985, 0.0000, 0.3585), float3(0.2772, 0.0000, 0.3483), float3(0.2573, 0.0000, 0.3351), float3(0.2390, 0.0000, 0.3189), float3(0.2227, 0.0000, 0.3001), float3(0.2087, 0.0000, 0.2790), float3(0.1972, 0.0000, 0.2560), float3(0.1884, 0.0000, 0.2314), float3(0.1824, 0.0000, 0.2057), float3(0.1794, 0.0000, 0.1794), float3(0.1794, 0.0000, 0.1528), float3(0.1824, 0.0000, 0.1264), float3(0.1884, 0.0000, 0.1007), float3(0.1972, 0.0000, 0.0762), float3(0.2087, 0.0000, 0.0531), float3(0.2227, 0.0000, 0.0320), float3(0.2390, 0.0000, 0.0132), float3(0.2573, 0.0000, -0.0029), float3(0.2772, 0.0000, -0.0162), float3(0.2985, 0.0000, -0.0264), float3(0.3207, 0.0000, -0.0333), float3(0.3435, 0.0000, -0.0368), float3(0.3666, 0.0000, -0.0368), float3(0.3894, 0.0000, -0.0333), float3(0.4117, 0.0000, -0.0264), float3(0.4329, 0.0000, -0.0162), float3(0.4529, 0.0000, -0.0029), float3(0.4711, 0.0000, 0.0132), float3(0.4874, 0.0000, 0.0320), float3(0.5014, 0.0000, 0.0531), float3(0.5130, 0.0000, 0.0762), float3(0.5218, 0.0000, 0.1007), float3(0.5277, 0.0000, 0.1264), float3(0.5307, 0.0000, 0.1528), float3(-0.5271, 0.0000, 0.1742), float3(-0.5270, 0.0000, 0.1621), float3(-0.5253, 0.0000, 0.1386), float3(-0.5217, 0.0000, 0.1160), float3(-0.5164, 0.0000, 0.0945), float3(-0.5094, 0.0000, 0.0741), float3(-0.5009, 0.0000, 0.0548), float3(-0.4910, 0.0000, 0.0368), float3(-0.4799, 0.0000, 0.0200), float3(-0.4676, 0.0000, 0.0046), float3(-0.4544, 0.0000, -0.0094), float3(-0.4402, 0.0000, -0.0219), float3(-0.4254, 0.0000, -0.0330), float3(-0.4099, 0.0000, -0.0424), float3(-0.3940, 0.0000, -0.0501), float3(-0.3777, 0.0000, -0.0562), float3(-0.3612, 0.0000, -0.0605), float3(-0.3447, 0.0000, -0.0629), float3(-0.3281, 0.0000, -0.0634), float3(-0.3118, 0.0000, -0.0620), float3(-0.2957, 0.0000, -0.0585), float3(-0.2801, 0.0000, -0.0529), float3(-0.2651, 0.0000, -0.0452), float3(-0.2507, 0.0000, -0.0352), float3(-0.2372, 0.0000, -0.0230), float3(-0.2246, 0.0000, -0.0085), float3(-0.2131, 0.0000, 0.0085), float3(-0.2028, 0.0000, 0.0279), float3(-0.1939, 0.0000, 0.0499), float3(-0.1864, 0.0000, 0.0745), float3(-0.1806, 0.0000, 0.1017), float3(-0.1765, 0.0000, 0.1316), float3(-0.1742, 0.0000, 0.1643), float3(-0.1740, 0.0000, 0.1661), float3(-0.1744, 0.0000, 0.1794), float3(-0.1774, 0.0000, 0.2057), float3(-0.1833, 0.0000, 0.2314), float3(-0.1922, 0.0000, 0.2560), float3(-0.2037, 0.0000, 0.2790), float3(-0.2177, 0.0000, 0.3001), float3(-0.2340, 0.0000, 0.3189), float3(-0.2522, 0.0000, 0.3351), float3(-0.2722, 0.0000, 0.3483), float3(-0.2935, 0.0000, 0.3585), float3(-0.3157, 0.0000, 0.3654), float3(-0.3385, 0.0000, 0.3689), float3(-0.3616, 0.0000, 0.3689), float3(-0.3844, 0.0000, 0.3654), float3(-0.4066, 0.0000, 0.3585), float3(-0.4279, 0.0000, 0.3483), float3(-0.4479, 0.0000, 0.3351), float3(-0.4661, 0.0000, 0.3189), float3(-0.4824, 0.0000, 0.3001), float3(-0.4964, 0.0000, 0.2790), float3(-0.5080, 0.0000, 0.2560), float3(-0.5168, 0.0000, 0.2314), float3(-0.5227, 0.0000, 0.2057), float3(-0.5257, 0.0000, 0.1794), float3(-0.5257, 0.0000, 0.1528), float3(-0.5227, 0.0000, 0.1264), float3(-0.5168, 0.0000, 0.1007), float3(-0.5080, 0.0000, 0.0762), float3(-0.4964, 0.0000, 0.0531), float3(-0.4824, 0.0000, 0.0320), float3(-0.4661, 0.0000, 0.0132), float3(-0.4479, 0.0000, -0.0029), float3(-0.4279, 0.0000, -0.0162), float3(-0.4066, 0.0000, -0.0264), float3(-0.3844, 0.0000, -0.0333), float3(-0.3616, 0.0000, -0.0368), float3(-0.3385, 0.0000, -0.0368), float3(-0.3157, 0.0000, -0.0333), float3(-0.2935, 0.0000, -0.0264), float3(-0.2722, 0.0000, -0.0162), float3(-0.2522, 0.0000, -0.0029), float3(-0.2340, 0.0000, 0.0132), float3(-0.2177, 0.0000, 0.0320), float3(-0.2037, 0.0000, 0.0531), float3(-0.1922, 0.0000, 0.0762), float3(-0.1833, 0.0000, 0.1007), float3(-0.1774, 0.0000, 0.1264), float3(-0.1744, 0.0000, 0.1528), float3(0.9630, 0.0000, 0.1753), float3(0.9555, 0.0000, 0.1761), float3(0.9367, 0.0000, 0.1758), float3(0.9202, 0.0000, 0.1741), float3(0.9036, 0.0000, 0.1714), float3(0.8885, 0.0000, 0.1668), float3(0.8746, 0.0000, 0.1607), float3(0.8621, 0.0000, 0.1531), float3(0.8503, 0.0000, 0.1447), float3(0.8389, 0.0000, 0.1352), float3(0.8279, 0.0000, 0.1244), float3(0.8174, 0.0000, 0.1125), float3(0.8079, 0.0000, 0.0990), float3(0.7999, 0.0000, 0.0839), float3(0.7935, 0.0000, 0.0669), float3(0.7892, 0.0000, 0.0488), float3(0.7870, 0.0000, 0.0305), float3(0.7847, 0.0000, 0.0139), float3(-1.0227, 0.0000, 0.1753), float3(-1.0153, 0.0000, 0.1761), float3(-0.9964, 0.0000, 0.1758), float3(-0.9799, 0.0000, 0.1741), float3(-0.9634, 0.0000, 0.1714), float3(-0.9483, 0.0000, 0.1668), float3(-0.9344, 0.0000, 0.1607), float3(-0.9219, 0.0000, 0.1531), float3(-0.9101, 0.0000, 0.1447), float3(-0.8986, 0.0000, 0.1352), float3(-0.8876, 0.0000, 0.1244), float3(-0.8772, 0.0000, 0.1125), float3(-0.8677, 0.0000, 0.0990), float3(-0.8597, 0.0000, 0.0839), float3(-0.8533, 0.0000, 0.0669), float3(-0.8490, 0.0000, 0.0488), float3(-0.8467, 0.0000, 0.0305), float3(-0.8444, 0.0000, 0.0139), })
 
static constexpr std::array< float, 700 > monkey_fill_opacities ({ 0.3620, 0.4070, 0.4390, 0.4580, 0.5000, 0.5160, 0.5190, 0.5300, 0.5330, 0.5340, 0.5350, 0.5350, 0.5370, 0.5370, 0.5370, 0.5350, 0.5340, 0.5340, 0.5340, 0.5340, 0.5320, 0.5310, 0.5310, 0.5320, 0.5350, 0.5400, 0.5420, 0.5430, 0.5430, 0.5460, 0.5490, 0.5490, 0.5490, 0.5490, 0.5510, 0.5530, 0.5540, 0.5540, 0.5550, 0.5560, 0.5570, 0.5570, 0.5570, 0.5570, 0.5570, 0.5580, 0.5590, 0.5590, 0.5590, 0.5480, 0.5460, 0.5470, 0.5470, 0.5480, 0.5480, 0.5490, 0.5480, 0.5490, 0.5490, 0.5580, 0.5870, 0.5950, 0.5980, 0.6030, 0.6060, 0.6070, 0.6070, 0.6110, 0.6150, 0.6210, 0.6230, 0.6260, 0.6300, 0.6320, 0.6440, 0.6570, 0.6610, 0.6640, 0.6680, 0.6710, 0.6740, 0.6780, 0.6800, 0.6800, 0.6800, 0.6810, 0.6810, 0.6830, 0.6830, 0.6850, 0.6860, 0.6940, 0.6970, 0.7000, 0.7040, 0.7100, 0.7110, 0.7130, 0.7140, 0.7140, 0.7150, 0.7160, 0.7160, 0.7170, 0.7170, 0.7180, 0.7180, 0.7180, 0.7190, 0.7190, 0.7190, 0.7190, 0.7170, 0.7170, 0.7170, 0.7180, 0.7190, 0.7190, 0.7090, 0.7040, 0.7050, 0.7130, 0.8130, 0.8150, 0.8150, 0.8160, 0.8160, 0.8160, 0.8170, 0.8170, 0.8150, 0.8070, 0.8010, 0.8000, 0.7810, 0.7800, 0.7780, 0.7770, 0.7770, 0.7770, 0.7780, 0.7760, 0.7760, 0.7740, 0.7720, 0.7730, 0.7730, 0.7720, 0.7720, 0.7660, 0.7650, 0.7650, 0.7660, 0.7650, 0.7650, 0.7610, 0.7510, 0.7440, 0.7380, 0.7310, 0.7270, 0.7230, 0.7170, 0.7080, 0.7060, 0.7050, 0.7040, 0.6980, 0.6910, 0.6850, 0.6830, 0.6760, 0.6700, 0.6630, 0.6600, 0.6590, 0.6590, 0.6570, 0.6590, 0.6590, 0.6590, 0.6570, 0.6580, 0.6570, 0.6560, 0.6420, 0.6090, 0.6080, 0.6070, 0.6060, 0.6040, 0.6060, 0.6070, 0.6070, 0.6070, 0.6060, 0.6020, 0.5850, 0.5760, 0.5640, 0.5490, 0.5430, 0.5410, 0.5380, 0.5280, 0.5280, 0.5290, 0.5280, 0.5150, 0.5140, 0.5070, 0.4940, 0.4900, 0.4910, 0.4890, 0.4910, 0.4920, 0.4920, 0.4920, 0.4920, 0.4940, 0.4940, 0.4930, 0.4920, 0.4920, 0.4910, 0.4900, 0.4900, 0.4890, 0.4890, 0.4900, 0.4890, 0.4890, 0.4900, 0.4890, 0.4890, 0.4890, 0.4880, 0.4900, 0.4970, 0.5040, 0.5100, 0.5150, 0.5220, 0.5280, 0.5320, 0.5350, 0.5400, 0.5450, 0.5490, 0.5490, 0.5520, 0.5520, 0.5530, 0.5530, 0.5530, 0.5540, 0.5550, 0.5550, 0.5570, 0.5570, 0.5580, 0.5580, 0.5580, 0.5590, 0.5580, 0.5590, 0.5580, 0.5580, 0.5590, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, })
 
static constexpr std::array< float, 700 > monkey_fill_radii ({ 0.01001, 0.01163, 0.01425, 0.01624, 0.01766, 0.01860, 0.01916, 0.01954, 0.01976, 0.01991, 0.02002, 0.02006, 0.02010, 0.02010, 0.02010, 0.02006, 0.02002, 0.02002, 0.01999, 0.01999, 0.01995, 0.01991, 0.01991, 0.01995, 0.02006, 0.02025, 0.02033, 0.02036, 0.02036, 0.02048, 0.02059, 0.02059, 0.02059, 0.02059, 0.02066, 0.02074, 0.02078, 0.02078, 0.02081, 0.02085, 0.02089, 0.02089, 0.02089, 0.02089, 0.02093, 0.02093, 0.02089, 0.02085, 0.02078, 0.02070, 0.02066, 0.02063, 0.02059, 0.02059, 0.02059, 0.02063, 0.02070, 0.02085, 0.02111, 0.02145, 0.02183, 0.02216, 0.02239, 0.02258, 0.02269, 0.02276, 0.02284, 0.02295, 0.02310, 0.02321, 0.02336, 0.02348, 0.02363, 0.02389, 0.02423, 0.02452, 0.02471, 0.02490, 0.02501, 0.02516, 0.02528, 0.02539, 0.02543, 0.02550, 0.02550, 0.02554, 0.02558, 0.02561, 0.02569, 0.02576, 0.02588, 0.02599, 0.02614, 0.02625, 0.02640, 0.02651, 0.02659, 0.02666, 0.02670, 0.02678, 0.02681, 0.02681, 0.02685, 0.02689, 0.02693, 0.02693, 0.02693, 0.02696, 0.02696, 0.02696, 0.02696, 0.02696, 0.02693, 0.02689, 0.02689, 0.02693, 0.02689, 0.02681, 0.02674, 0.02693, 0.02745, 0.02824, 0.02903, 0.02966, 0.03008, 0.03034, 0.03045, 0.03053, 0.03053, 0.03045, 0.03038, 0.03023, 0.03000, 0.02978, 0.02955, 0.02936, 0.02929, 0.02921, 0.02918, 0.02914, 0.02914, 0.02910, 0.02906, 0.02903, 0.02903, 0.02899, 0.02895, 0.02891, 0.02888, 0.02880, 0.02876, 0.02873, 0.02869, 0.02865, 0.02854, 0.02835, 0.02816, 0.02794, 0.02771, 0.02749, 0.02730, 0.02711, 0.02693, 0.02674, 0.02659, 0.02640, 0.02625, 0.02606, 0.02591, 0.02573, 0.02554, 0.02535, 0.02516, 0.02498, 0.02486, 0.02479, 0.02475, 0.02471, 0.02468, 0.02468, 0.02468, 0.02464, 0.02460, 0.02449, 0.02423, 0.02389, 0.02355, 0.02325, 0.02303, 0.02288, 0.02280, 0.02276, 0.02273, 0.02269, 0.02261, 0.02242, 0.02216, 0.02186, 0.02153, 0.02115, 0.02081, 0.02051, 0.02029, 0.02010, 0.01995, 0.01984, 0.01969, 0.01954, 0.01935, 0.01912, 0.01894, 0.01871, 0.01856, 0.01849, 0.01841, 0.01841, 0.01841, 0.01845, 0.01845, 0.01845, 0.01849, 0.01849, 0.01849, 0.01845, 0.01841, 0.01841, 0.01838, 0.01838, 0.01834, 0.01834, 0.01834, 0.01834, 0.01834, 0.01838, 0.01838, 0.01841, 0.01845, 0.01853, 0.01864, 0.01879, 0.01894, 0.01912, 0.01931, 0.01950, 0.01969, 0.01987, 0.02006, 0.02021, 0.02033, 0.02048, 0.02055, 0.02063, 0.02066, 0.02070, 0.02074, 0.02078, 0.02078, 0.02081, 0.02085, 0.02085, 0.02089, 0.02093, 0.02093, 0.02093, 0.02096, 0.02096, 0.02096, 0.02093, 0.02093, 0.02081, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00660, 0.01806, 0.02307, 0.02598, 0.02782, 0.02896, 0.02963, 0.02995, 0.02997, 0.02974, 0.02917, 0.02815, 0.02652, 0.02394, 0.01962, 0.01080, 0.00300, 0.00300, 0.00660, 0.01080, 0.01384, 0.01619, 0.01806, 0.01962, 0.02094, 0.02208, 0.02307, 0.02394, 0.02471, 0.02538, 0.02598, 0.02652, 0.02701, 0.02743, 0.02782, 0.02815, 0.02845, 0.02873, 0.02896, 0.02917, 0.02934, 0.02950, 0.02963, 0.02974, 0.02983, 0.02989, 0.02995, 0.02997, 0.02999, 0.02999, 0.02997, 0.02995, 0.02989, 0.02983, 0.02974, 0.02963, 0.02950, 0.02934, 0.02917, 0.02896, 0.02873, 0.02845, 0.02815, 0.02782, 0.02743, 0.02701, 0.02652, 0.02598, 0.02538, 0.02471, 0.02394, 0.02307, 0.02208, 0.02094, 0.01962, 0.01806, 0.01619, 0.01384, 0.01080, 0.00660, 0.00300, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00660, 0.01080, 0.01384, 0.01619, 0.01806, 0.01962, 0.02094, 0.02208, 0.02307, 0.02394, 0.02471, 0.02538, 0.02598, 0.02652, 0.02701, 0.02743, 0.02782, 0.02815, 0.02845, 0.02873, 0.02896, 0.02917, 0.02934, 0.02950, 0.02963, 0.02974, 0.02983, 0.02989, 0.02995, 0.02997, 0.02999, 0.02999, 0.02997, 0.02995, 0.02989, 0.02983, 0.02974, 0.02963, 0.02950, 0.02934, 0.02917, 0.02896, 0.02873, 0.02845, 0.02815, 0.02782, 0.02743, 0.02701, 0.02652, 0.02598, 0.02538, 0.02471, 0.02394, 0.02307, 0.02208, 0.02094, 0.01962, 0.01806, 0.01619, 0.01384, 0.01080, 0.00660, 0.00300, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, })
 
static constexpr std::array< int, 14 > monkey_fill_offsets ({ 0, 270, 303, 321, 385, 418, 482, 515, 533, 582, 615, 664, 682, 700, })
 
static std::array< float3, 516 > monkey_line_positions ({ float3(-0.6794, 0.0000, 0.3908), float3(-0.6711, 0.0000, 0.4112), float3(-0.6513, 0.0000, 0.4509), float3(-0.6276, 0.0000, 0.4890), float3(-0.6001, 0.0000, 0.5253), float3(-0.5692, 0.0000, 0.5598), float3(-0.5350, 0.0000, 0.5924), float3(-0.4979, 0.0000, 0.6228), float3(-0.4579, 0.0000, 0.6510), float3(-0.4155, 0.0000, 0.6770), float3(-0.3707, 0.0000, 0.7005), float3(-0.3239, 0.0000, 0.7215), float3(-0.2753, 0.0000, 0.7399), float3(-0.2251, 0.0000, 0.7555), float3(-0.1736, 0.0000, 0.7683), float3(-0.1210, 0.0000, 0.7780), float3(-0.0675, 0.0000, 0.7847), float3(-0.0134, 0.0000, 0.7882), float3(0.0411, 0.0000, 0.7884), float3(0.0957, 0.0000, 0.7851), float3(0.1503, 0.0000, 0.7783), float3(0.2045, 0.0000, 0.7678), float3(0.2581, 0.0000, 0.7536), float3(0.3110, 0.0000, 0.7355), float3(0.3628, 0.0000, 0.7134), float3(0.4133, 0.0000, 0.6873), float3(0.4622, 0.0000, 0.6569), float3(0.5095, 0.0000, 0.6221), float3(0.5547, 0.0000, 0.5830), float3(0.5977, 0.0000, 0.5393), float3(0.6382, 0.0000, 0.4909), float3(0.6760, 0.0000, 0.4377), float3(0.7109, 0.0000, 0.3797), float3(-0.7544, 0.0000, 0.1799), float3(-0.7495, 0.0000, 0.1620), float3(-0.7392, 0.0000, 0.1283), float3(-0.7281, 0.0000, 0.0975), float3(-0.7161, 0.0000, 0.0693), float3(-0.7033, 0.0000, 0.0435), float3(-0.6898, 0.0000, 0.0200), float3(-0.6757, 0.0000, -0.0014), float3(-0.6609, 0.0000, -0.0208), float3(-0.6455, 0.0000, -0.0386), float3(-0.6297, 0.0000, -0.0547), float3(-0.6133, 0.0000, -0.0695), float3(-0.5966, 0.0000, -0.0830), float3(-0.5795, 0.0000, -0.0955), float3(-0.5621, 0.0000, -0.1071), float3(-0.5444, 0.0000, -0.1180), float3(-0.5265, 0.0000, -0.1284), float3(-0.5084, 0.0000, -0.1384), float3(-0.4902, 0.0000, -0.1483), float3(-0.4719, 0.0000, -0.1582), float3(-0.4537, 0.0000, -0.1682), float3(-0.4355, 0.0000, -0.1787), float3(-0.4173, 0.0000, -0.1896), float3(-0.3993, 0.0000, -0.2013), float3(-0.3815, 0.0000, -0.2138), float3(-0.3640, 0.0000, -0.2274), float3(-0.3467, 0.0000, -0.2422), float3(-0.3298, 0.0000, -0.2584), float3(-0.3133, 0.0000, -0.2762), float3(-0.2972, 0.0000, -0.2958), float3(-0.2816, 0.0000, -0.3173), float3(-0.2665, 0.0000, -0.3409), float3(-0.2521, 0.0000, -0.3668), float3(-0.2854, 0.0000, -0.4528), float3(-0.2866, 0.0000, -0.4623), float3(-0.2899, 0.0000, -0.4814), float3(-0.2943, 0.0000, -0.5008), float3(-0.2995, 0.0000, -0.5203), float3(-0.3054, 0.0000, -0.5400), float3(-0.3117, 0.0000, -0.5598), float3(-0.3182, 0.0000, -0.5797), float3(-0.3249, 0.0000, -0.5996), float3(-0.3314, 0.0000, -0.6196), float3(-0.3376, 0.0000, -0.6395), float3(-0.3432, 0.0000, -0.6594), float3(-0.3482, 0.0000, -0.6792), float3(-0.3523, 0.0000, -0.6989), float3(-0.3552, 0.0000, -0.7185), float3(-0.3569, 0.0000, -0.7379), float3(-0.3570, 0.0000, -0.7571), float3(-0.3555, 0.0000, -0.7761), float3(-0.3522, 0.0000, -0.7948), float3(-0.3467, 0.0000, -0.8132), float3(-0.3390, 0.0000, -0.8313), float3(-0.3289, 0.0000, -0.8490), float3(-0.3160, 0.0000, -0.8663), float3(-0.3004, 0.0000, -0.8831), float3(-0.2817, 0.0000, -0.8996), float3(-0.2598, 0.0000, -0.9155), float3(-0.2344, 0.0000, -0.9309), float3(-0.2051, 0.0000, -0.9457), float3(-0.1716, 0.0000, -0.9599), float3(-0.1341, 0.0000, -0.9733), float3(-0.0928, 0.0000, -0.9857), float3(-0.0500, 0.0000, -0.9962), float3(-0.0087, 0.0000, -1.0041), float3(0.0287, 0.0000, -1.0087), float3(0.0620, 0.0000, -1.0104), float3(0.0924, 0.0000, -1.0102), float3(0.1205, 0.0000, -1.0086), float3(0.1465, 0.0000, -1.0057), float3(0.1706, 0.0000, -1.0017), float3(0.1928, 0.0000, -0.9964), float3(0.2132, 0.0000, -0.9900), float3(0.2318, 0.0000, -0.9824), float3(0.2487, 0.0000, -0.9738), float3(0.2641, 0.0000, -0.9641), float3(0.2778, 0.0000, -0.9533), float3(0.2901, 0.0000, -0.9415), float3(0.3009, 0.0000, -0.9287), float3(0.3103, 0.0000, -0.9148), float3(0.3183, 0.0000, -0.8999), float3(0.3250, 0.0000, -0.8841), float3(0.3304, 0.0000, -0.8672), float3(0.3345, 0.0000, -0.8493), float3(0.3374, 0.0000, -0.8305), float3(0.3391, 0.0000, -0.8107), float3(0.3397, 0.0000, -0.7899), float3(0.3392, 0.0000, -0.7682), float3(0.3377, 0.0000, -0.7456), float3(0.3352, 0.0000, -0.7221), float3(0.3317, 0.0000, -0.6976), float3(0.3273, 0.0000, -0.6722), float3(0.3220, 0.0000, -0.6460), float3(0.3160, 0.0000, -0.6188), float3(0.3091, 0.0000, -0.5908), float3(0.3015, 0.0000, -0.5619), float3(0.2974, 0.0000, -0.5472), float3(-0.4408, 0.0000, 0.5073), float3(-0.4312, 0.0000, 0.5132), float3(-0.3945, 0.0000, 0.5319), float3(-0.3605, 0.0000, 0.5438), float3(-0.3288, 0.0000, 0.5496), float3(-0.2992, 0.0000, 0.5501), float3(-0.2712, 0.0000, 0.5460), float3(-0.2446, 0.0000, 0.5381), float3(-0.2191, 0.0000, 0.5272), float3(-0.1943, 0.0000, 0.5139), float3(-0.1699, 0.0000, 0.4992), float3(-0.1456, 0.0000, 0.4837), float3(-0.1211, 0.0000, 0.4682), float3(-0.0960, 0.0000, 0.4535), float3(-0.0700, 0.0000, 0.4404), float3(-0.0428, 0.0000, 0.4301), float3(-0.0160, 0.0000, 0.4235), float3(0.0076, 0.0000, 0.4216), float3(0.0283, 0.0000, 0.4237), float3(0.0477, 0.0000, 0.4291), float3(0.0670, 0.0000, 0.4369), float3(0.0866, 0.0000, 0.4465), float3(0.1068, 0.0000, 0.4576), float3(0.1278, 0.0000, 0.4695), float3(0.1498, 0.0000, 0.4819), float3(0.1730, 0.0000, 0.4941), float3(0.1977, 0.0000, 0.5056), float3(0.2241, 0.0000, 0.5159), float3(0.2523, 0.0000, 0.5244), float3(0.2825, 0.0000, 0.5307), float3(0.3150, 0.0000, 0.5342), float3(0.3499, 0.0000, 0.5345), float3(0.3875, 0.0000, 0.5311), float3(0.3973, 0.0000, 0.5295), float3(0.7240, 0.0000, 0.1799), float3(0.7192, 0.0000, 0.1620), float3(0.7089, 0.0000, 0.1283), float3(0.6977, 0.0000, 0.0975), float3(0.6858, 0.0000, 0.0693), float3(0.6730, 0.0000, 0.0435), float3(0.6595, 0.0000, 0.0200), float3(0.6453, 0.0000, -0.0014), float3(0.6306, 0.0000, -0.0208), float3(0.6152, 0.0000, -0.0386), float3(0.5994, 0.0000, -0.0547), float3(0.5830, 0.0000, -0.0695), float3(0.5663, 0.0000, -0.0830), float3(0.5492, 0.0000, -0.0955), float3(0.5317, 0.0000, -0.1071), float3(0.5140, 0.0000, -0.1180), float3(0.4961, 0.0000, -0.1284), float3(0.4781, 0.0000, -0.1384), float3(0.4599, 0.0000, -0.1483), float3(0.4416, 0.0000, -0.1582), float3(0.4234, 0.0000, -0.1682), float3(0.4051, 0.0000, -0.1787), float3(0.3870, 0.0000, -0.1896), float3(0.3690, 0.0000, -0.2013), float3(0.3512, 0.0000, -0.2138), float3(0.3337, 0.0000, -0.2274), float3(0.3164, 0.0000, -0.2422), float3(0.2995, 0.0000, -0.2584), float3(0.2829, 0.0000, -0.2762), float3(0.2669, 0.0000, -0.2958), float3(0.2513, 0.0000, -0.3173), float3(0.2362, 0.0000, -0.3409), float3(0.2218, 0.0000, -0.3668), float3(-0.1119, 0.0000, -0.7868), float3(-0.1087, 0.0000, -0.7905), float3(-0.1022, 0.0000, -0.7974), float3(-0.0955, 0.0000, -0.8038), float3(-0.0886, 0.0000, -0.8097), float3(-0.0816, 0.0000, -0.8152), float3(-0.0744, 0.0000, -0.8201), float3(-0.0671, 0.0000, -0.8246), float3(-0.0597, 0.0000, -0.8286), float3(-0.0522, 0.0000, -0.8321), float3(-0.0446, 0.0000, -0.8351), float3(-0.0369, 0.0000, -0.8376), float3(-0.0292, 0.0000, -0.8397), float3(-0.0214, 0.0000, -0.8413), float3(-0.0136, 0.0000, -0.8424), float3(-0.0057, 0.0000, -0.8430), float3(0.0022, 0.0000, -0.8431), float3(0.0100, 0.0000, -0.8428), float3(0.0178, 0.0000, -0.8419), float3(0.0257, 0.0000, -0.8407), float3(0.0334, 0.0000, -0.8389), float3(0.0411, 0.0000, -0.8366), float3(0.0488, 0.0000, -0.8339), float3(0.0564, 0.0000, -0.8308), float3(0.0638, 0.0000, -0.8271), float3(0.0712, 0.0000, -0.8230), float3(0.0785, 0.0000, -0.8184), float3(0.0856, 0.0000, -0.8134), float3(0.0925, 0.0000, -0.8079), float3(0.0994, 0.0000, -0.8019), float3(0.1060, 0.0000, -0.7954), float3(0.1125, 0.0000, -0.7885), float3(0.1187, 0.0000, -0.7812), float3(-0.1119, 0.0000, -0.2655), float3(-0.1101, 0.0000, -0.2605), float3(-0.1032, 0.0000, -0.2424), float3(-0.0965, 0.0000, -0.2276), float3(-0.0901, 0.0000, -0.2158), float3(-0.0837, 0.0000, -0.2069), float3(-0.0775, 0.0000, -0.2006), float3(-0.0712, 0.0000, -0.1967), float3(-0.0650, 0.0000, -0.1949), float3(-0.0587, 0.0000, -0.1950), float3(-0.0522, 0.0000, -0.1968), float3(-0.0455, 0.0000, -0.2001), float3(-0.0386, 0.0000, -0.2046), float3(-0.0315, 0.0000, -0.2100), float3(-0.0239, 0.0000, -0.2163), float3(-0.0160, 0.0000, -0.2230), float3(-0.0075, 0.0000, -0.2301), float3(-0.0002, 0.0000, -0.2342), float3(0.0054, 0.0000, -0.2340), float3(0.0106, 0.0000, -0.2324), float3(0.0155, 0.0000, -0.2297), float3(0.0202, 0.0000, -0.2261), float3(0.0249, 0.0000, -0.2219), float3(0.0296, 0.0000, -0.2174), float3(0.0344, 0.0000, -0.2128), float3(0.0394, 0.0000, -0.2084), float3(0.0448, 0.0000, -0.2044), float3(0.0506, 0.0000, -0.2012), float3(0.0570, 0.0000, -0.1988), float3(0.0640, 0.0000, -0.1977), float3(0.0717, 0.0000, -0.1980), float3(0.0804, 0.0000, -0.2001), float3(0.0899, 0.0000, -0.2042), float3(0.0925, 0.0000, -0.2055), float3(0.7993, 0.0000, 0.3242), float3(0.8169, 0.0000, 0.3354), float3(0.8512, 0.0000, 0.3542), float3(0.8840, 0.0000, 0.3686), float3(0.9153, 0.0000, 0.3787), float3(0.9450, 0.0000, 0.3848), float3(0.9729, 0.0000, 0.3871), float3(0.9989, 0.0000, 0.3857), float3(1.0229, 0.0000, 0.3811), float3(1.0447, 0.0000, 0.3732), float3(1.0643, 0.0000, 0.3624), float3(1.0814, 0.0000, 0.3490), float3(1.0960, 0.0000, 0.3330), float3(1.1080, 0.0000, 0.3147), float3(1.1172, 0.0000, 0.2944), float3(1.1235, 0.0000, 0.2723), float3(1.1267, 0.0000, 0.2485), float3(1.1269, 0.0000, 0.2233), float3(1.1237, 0.0000, 0.1970), float3(1.1172, 0.0000, 0.1697), float3(1.1071, 0.0000, 0.1417), float3(1.0934, 0.0000, 0.1131), float3(1.0759, 0.0000, 0.0842), float3(1.0545, 0.0000, 0.0553), float3(1.0291, 0.0000, 0.0265), float3(0.9995, 0.0000, -0.0019), float3(0.9657, 0.0000, -0.0298), float3(0.9275, 0.0000, -0.0569), float3(0.8847, 0.0000, -0.0829), float3(0.8373, 0.0000, -0.1077), float3(0.7852, 0.0000, -0.1311), float3(0.7281, 0.0000, -0.1528), float3(0.6661, 0.0000, -0.1725), float3(-0.7428, 0.0000, 0.2977), float3(-0.7608, 0.0000, 0.3138), float3(-0.7786, 0.0000, 0.3284), float3(-0.7962, 0.0000, 0.3414), float3(-0.8135, 0.0000, 0.3531), float3(-0.8306, 0.0000, 0.3633), float3(-0.8473, 0.0000, 0.3722), float3(-0.8637, 0.0000, 0.3798), float3(-0.8798, 0.0000, 0.3860), float3(-0.8956, 0.0000, 0.3911), float3(-0.9109, 0.0000, 0.3949), float3(-0.9259, 0.0000, 0.3975), float3(-0.9405, 0.0000, 0.3989), float3(-0.9546, 0.0000, 0.3993), float3(-0.9682, 0.0000, 0.3986), float3(-0.9814, 0.0000, 0.3969), float3(-0.9940, 0.0000, 0.3941), float3(-1.0062, 0.0000, 0.3904), float3(-1.0178, 0.0000, 0.3858), float3(-1.0288, 0.0000, 0.3803), float3(-1.0393, 0.0000, 0.3739), float3(-1.0492, 0.0000, 0.3668), float3(-1.0584, 0.0000, 0.3588), float3(-1.0670, 0.0000, 0.3501), float3(-1.0750, 0.0000, 0.3407), float3(-1.0822, 0.0000, 0.3307), float3(-1.0888, 0.0000, 0.3200), float3(-1.0946, 0.0000, 0.3087), float3(-1.0997, 0.0000, 0.2969), float3(-1.1040, 0.0000, 0.2845), float3(-1.1075, 0.0000, 0.2717), float3(-1.1103, 0.0000, 0.2584), float3(-1.1122, 0.0000, 0.2447), float3(-1.1132, 0.0000, 0.2306), float3(-1.1134, 0.0000, 0.2162), float3(-1.1128, 0.0000, 0.2015), float3(-1.1112, 0.0000, 0.1865), float3(-1.1086, 0.0000, 0.1713), float3(-1.1052, 0.0000, 0.1559), float3(-1.1007, 0.0000, 0.1404), float3(-1.0953, 0.0000, 0.1247), float3(-1.0889, 0.0000, 0.1090), float3(-1.0814, 0.0000, 0.0932), float3(-1.0729, 0.0000, 0.0774), float3(-1.0633, 0.0000, 0.0617), float3(-1.0527, 0.0000, 0.0460), float3(-1.0409, 0.0000, 0.0304), float3(-1.0280, 0.0000, 0.0150), float3(-1.0139, 0.0000, -0.0003), float3(-0.9987, 0.0000, -0.0154), float3(-0.9823, 0.0000, -0.0302), float3(-0.9646, 0.0000, -0.0447), float3(-0.9458, 0.0000, -0.0589), float3(-0.9257, 0.0000, -0.0727), float3(-0.9043, 0.0000, -0.0862), float3(-0.8816, 0.0000, -0.0992), float3(-0.8576, 0.0000, -0.1117), float3(-0.8323, 0.0000, -0.1237), float3(-0.8056, 0.0000, -0.1352), float3(-0.7775, 0.0000, -0.1461), float3(-0.7481, 0.0000, -0.1564), float3(-0.7172, 0.0000, -0.1660), float3(-0.6849, 0.0000, -0.1750), float3(-0.6512, 0.0000, -0.1832), float3(0.2721, 0.0000, 0.2084), float3(0.2721, 0.0000, 0.2112), float3(0.2739, 0.0000, 0.2223), float3(0.2778, 0.0000, 0.2324), float3(0.2836, 0.0000, 0.2409), float3(0.2910, 0.0000, 0.2471), float3(0.2994, 0.0000, 0.2507), float3(0.3082, 0.0000, 0.2515), float3(0.3169, 0.0000, 0.2493), float3(0.3248, 0.0000, 0.2443), float3(0.3315, 0.0000, 0.2369), float3(0.3364, 0.0000, 0.2275), float3(0.3392, 0.0000, 0.2168), float3(0.3398, 0.0000, 0.2056), float3(0.3381, 0.0000, 0.1945), float3(0.3342, 0.0000, 0.1844), float3(0.3283, 0.0000, 0.1760), float3(0.3210, 0.0000, 0.1697), float3(0.3126, 0.0000, 0.1661), float3(0.3038, 0.0000, 0.1653), float3(0.2951, 0.0000, 0.1675), float3(0.2871, 0.0000, 0.1725), float3(0.2805, 0.0000, 0.1799), float3(0.2756, 0.0000, 0.1893), float3(0.2727, 0.0000, 0.2000), float3(0.2721, 0.0000, 0.2056), float3(-0.3545, 0.0000, 0.2084), float3(-0.3544, 0.0000, 0.2112), float3(-0.3527, 0.0000, 0.2223), float3(-0.3488, 0.0000, 0.2324), float3(-0.3430, 0.0000, 0.2409), float3(-0.3356, 0.0000, 0.2471), float3(-0.3272, 0.0000, 0.2507), float3(-0.3184, 0.0000, 0.2515), float3(-0.3097, 0.0000, 0.2493), float3(-0.3018, 0.0000, 0.2443), float3(-0.2951, 0.0000, 0.2369), float3(-0.2902, 0.0000, 0.2275), float3(-0.2874, 0.0000, 0.2168), float3(-0.2868, 0.0000, 0.2056), float3(-0.2885, 0.0000, 0.1945), float3(-0.2924, 0.0000, 0.1844), float3(-0.2983, 0.0000, 0.1760), float3(-0.3056, 0.0000, 0.1697), float3(-0.3140, 0.0000, 0.1661), float3(-0.3228, 0.0000, 0.1653), float3(-0.3315, 0.0000, 0.1675), float3(-0.3394, 0.0000, 0.1725), float3(-0.3461, 0.0000, 0.1799), float3(-0.3510, 0.0000, 0.1893), float3(-0.3539, 0.0000, 0.2000), float3(-0.3544, 0.0000, 0.2056), float3(0.1904, 0.0000, 0.0983), float3(0.1997, 0.0000, 0.0774), float3(0.2234, 0.0000, 0.0407), float3(0.2477, 0.0000, 0.0158), float3(0.2767, 0.0000, -0.0047), float3(0.3061, 0.0000, -0.0179), float3(0.3346, 0.0000, -0.0247), float3(0.3620, 0.0000, -0.0262), float3(0.3881, 0.0000, -0.0231), float3(0.4128, 0.0000, -0.0159), float3(0.4360, 0.0000, -0.0049), float3(0.4577, 0.0000, 0.0099), float3(0.4778, 0.0000, 0.0289), float3(0.4959, 0.0000, 0.0524), float3(0.5114, 0.0000, 0.0806), float3(0.5229, 0.0000, 0.1134), float3(0.5291, 0.0000, 0.1498), float3(0.5289, 0.0000, 0.1884), float3(0.5219, 0.0000, 0.2267), float3(0.5087, 0.0000, 0.2616), float3(0.4907, 0.0000, 0.2916), float3(0.4697, 0.0000, 0.3159), float3(0.4465, 0.0000, 0.3349), float3(0.4220, 0.0000, 0.3489), float3(0.3964, 0.0000, 0.3582), float3(0.3705, 0.0000, 0.3628), float3(0.3436, 0.0000, 0.3630), float3(0.3166, 0.0000, 0.3586), float3(0.2897, 0.0000, 0.3491), float3(0.2635, 0.0000, 0.3344), float3(0.2382, 0.0000, 0.3137), float3(0.2162, 0.0000, 0.2882), float3(0.1949, 0.0000, 0.2516), float3(-1.0361, 0.0000, 0.1745), float3(-1.0319, 0.0000, 0.1770), float3(-1.0153, 0.0000, 0.1852), float3(-0.9990, 0.0000, 0.1907), float3(-0.9830, 0.0000, 0.1936), float3(-0.9673, 0.0000, 0.1941), float3(-0.9522, 0.0000, 0.1923), float3(-0.9376, 0.0000, 0.1885), float3(-0.9236, 0.0000, 0.1827), float3(-0.9103, 0.0000, 0.1752), float3(-0.8978, 0.0000, 0.1662), float3(-0.8862, 0.0000, 0.1558), float3(-0.8756, 0.0000, 0.1441), float3(-0.8660, 0.0000, 0.1314), float3(-0.8575, 0.0000, 0.1179), float3(-0.8501, 0.0000, 0.1036), float3(-0.8441, 0.0000, 0.0889), float3(-0.8416, 0.0000, 0.0813), float3(0.9747, 0.0000, 0.1745), float3(0.9706, 0.0000, 0.1770), float3(0.9540, 0.0000, 0.1852), float3(0.9377, 0.0000, 0.1907), float3(0.9216, 0.0000, 0.1936), float3(0.9060, 0.0000, 0.1941), float3(0.8908, 0.0000, 0.1923), float3(0.8762, 0.0000, 0.1885), float3(0.8622, 0.0000, 0.1827), float3(0.8490, 0.0000, 0.1752), float3(0.8365, 0.0000, 0.1662), float3(0.8249, 0.0000, 0.1558), float3(0.8143, 0.0000, 0.1441), float3(0.8046, 0.0000, 0.1314), float3(0.7961, 0.0000, 0.1179), float3(0.7888, 0.0000, 0.1036), float3(0.7828, 0.0000, 0.0889), float3(0.7802, 0.0000, 0.0813), float3(-0.1860, 0.0000, 0.0983), float3(-0.1954, 0.0000, 0.0774), float3(-0.2191, 0.0000, 0.0407), float3(-0.2434, 0.0000, 0.0158), float3(-0.2723, 0.0000, -0.0047), float3(-0.3017, 0.0000, -0.0179), float3(-0.3302, 0.0000, -0.0247), float3(-0.3576, 0.0000, -0.0262), float3(-0.3837, 0.0000, -0.0231), float3(-0.4085, 0.0000, -0.0159), float3(-0.4317, 0.0000, -0.0049), float3(-0.4533, 0.0000, 0.0099), float3(-0.4734, 0.0000, 0.0289), float3(-0.4916, 0.0000, 0.0524), float3(-0.5070, 0.0000, 0.0806), float3(-0.5185, 0.0000, 0.1134), float3(-0.5247, 0.0000, 0.1498), float3(-0.5246, 0.0000, 0.1884), float3(-0.5175, 0.0000, 0.2267), float3(-0.5043, 0.0000, 0.2616), float3(-0.4864, 0.0000, 0.2916), float3(-0.4653, 0.0000, 0.3159), float3(-0.4422, 0.0000, 0.3349), float3(-0.4177, 0.0000, 0.3489), float3(-0.3921, 0.0000, 0.3582), float3(-0.3661, 0.0000, 0.3628), float3(-0.3392, 0.0000, 0.3630), float3(-0.3123, 0.0000, 0.3586), float3(-0.2853, 0.0000, 0.3491), float3(-0.2591, 0.0000, 0.3344), float3(-0.2339, 0.0000, 0.3137), float3(-0.2118, 0.0000, 0.2882), float3(-0.1906, 0.0000, 0.2516), })
 
static constexpr std::array< float, 516 > monkey_line_opacities ({ 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, })
 
static constexpr std::array< float, 516 > monkey_line_radii ({ 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00386, 0.00889, 0.01244, 0.01508, 0.01717, 0.01887, 0.02030, 0.02153, 0.02259, 0.02351, 0.02433, 0.02505, 0.02569, 0.02627, 0.02677, 0.02722, 0.02763, 0.02799, 0.02832, 0.02859, 0.02885, 0.02906, 0.02926, 0.02942, 0.02957, 0.02968, 0.02979, 0.02986, 0.02992, 0.02996, 0.02998, 0.03000, 0.02998, 0.02996, 0.02992, 0.02986, 0.02979, 0.02968, 0.02957, 0.02942, 0.02926, 0.02906, 0.02885, 0.02859, 0.02832, 0.02799, 0.02763, 0.02722, 0.02677, 0.02627, 0.02569, 0.02505, 0.02433, 0.02351, 0.02259, 0.02153, 0.02030, 0.01887, 0.01717, 0.01508, 0.01244, 0.00889, 0.00386, 0.00300, 0.00300, 0.00386, 0.01244, 0.01717, 0.02030, 0.02259, 0.02433, 0.02569, 0.02677, 0.02763, 0.02832, 0.02885, 0.02926, 0.02957, 0.02979, 0.02992, 0.02998, 0.02998, 0.02992, 0.02979, 0.02957, 0.02926, 0.02885, 0.02832, 0.02763, 0.02677, 0.02569, 0.02433, 0.02259, 0.02030, 0.01717, 0.01244, 0.00386, 0.00300, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00200, 0.00440, 0.00923, 0.01204, 0.01396, 0.01538, 0.01647, 0.01732, 0.01801, 0.01854, 0.01897, 0.01931, 0.01956, 0.01975, 0.01988, 0.01997, 0.01999, 0.01998, 0.01993, 0.01982, 0.01967, 0.01945, 0.01915, 0.01877, 0.01829, 0.01768, 0.01692, 0.01596, 0.01472, 0.01308, 0.01079, 0.00720, 0.00200, 0.00200, 0.00258, 0.00829, 0.01145, 0.01354, 0.01506, 0.01622, 0.01713, 0.01784, 0.01842, 0.01888, 0.01923, 0.01951, 0.01972, 0.01986, 0.01995, 0.01999, 0.01999, 0.01995, 0.01986, 0.01972, 0.01951, 0.01923, 0.01888, 0.01842, 0.01784, 0.01713, 0.01622, 0.01506, 0.01354, 0.01145, 0.00829, 0.00258, 0.00200, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00660, 0.01080, 0.01384, 0.01619, 0.01806, 0.01962, 0.02094, 0.02208, 0.02307, 0.02394, 0.02471, 0.02538, 0.02598, 0.02652, 0.02701, 0.02743, 0.02782, 0.02815, 0.02845, 0.02873, 0.02896, 0.02917, 0.02934, 0.02950, 0.02963, 0.02974, 0.02983, 0.02989, 0.02995, 0.02997, 0.02999, 0.02999, 0.02997, 0.02995, 0.02989, 0.02983, 0.02974, 0.02963, 0.02950, 0.02934, 0.02917, 0.02896, 0.02873, 0.02845, 0.02815, 0.02782, 0.02743, 0.02701, 0.02652, 0.02598, 0.02538, 0.02471, 0.02394, 0.02307, 0.02208, 0.02094, 0.01962, 0.01806, 0.01619, 0.01384, 0.01080, 0.00660, 0.00300, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, })
 
static constexpr std::array< int, 16 > monkey_line_offsets ({ 0, 33, 66, 131, 165, 198, 231, 265, 298, 362, 388, 414, 447, 465, 483, 516, })
 
static int add_material_from_template (Main &bmain, Object &ob, const ColorTemplate &pct)
 
static bke::CurvesGeometry create_drawing_data (const Span< float3 > positions, const Span< float > radii, const Span< float > opacities, const Span< int > offsets, const Span< int > materials, const float4x4 &matrix)
 
void create_blank (Main &bmain, Object &object, const int frame_number)
 
void create_stroke (Main &bmain, Object &object, const float4x4 &matrix, const int frame_number)
 
void create_suzanne (Main &bmain, Object &object, const float4x4 &matrix, const int frame_number)
 
static void ensure_valid_frame_end (Main *, Scene *, PointerRNA *ptr)
 
static int bake_grease_pencil_animation_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static Vector< Object * > get_bake_targets (bContext &C, Depsgraph &depsgraph, Scene &scene)
 
static Set< intget_selected_object_keyframes (Span< Object * > bake_targets)
 
static int bake_grease_pencil_animation_exec (bContext *C, wmOperator *op)
 
static bool bake_grease_pencil_animation_poll (bContext *C)
 
static void GREASE_PENCIL_OT_bake_grease_pencil_animation (wmOperatorType *ot)
 
void clipboard_free ()
 
const bke::CurvesGeometryclipboard_curves ()
 
static Array< intclipboard_materials_remap (Main &bmain, Object &object)
 
IndexRange clipboard_paste_strokes (Main &bmain, Object &object, bke::greasepencil::Drawing &drawing, const float4x4 &transform, const bool keep_world_transform, const bool paste_back)
 
static bke::greasepencil::Layercopy_layer (GreasePencil &grease_pencil_dst, bke::greasepencil::LayerGroup &group_dst, const bke::greasepencil::Layer &layer_src)
 
static bke::greasepencil::LayerGroupcopy_layer_group_recursive (GreasePencil &grease_pencil_dst, bke::greasepencil::LayerGroup &parent_dst, const bke::greasepencil::LayerGroup &group_src, Map< StringRefNull, StringRefNull > &layer_name_map)
 
static void copy_layer_group_content (GreasePencil &grease_pencil_dst, bke::greasepencil::LayerGroup &group_dst, const bke::greasepencil::LayerGroup &group_src, Map< StringRefNull, StringRefNull > &layer_name_map)
 
static Array< intadd_materials_to_map (const GreasePencil &grease_pencil, VectorSet< Material * > &materials)
 
static void remap_material_indices (bke::greasepencil::Drawing &drawing, const Span< int > material_index_map)
 
static Map< StringRefNull, StringRefNulladd_vertex_groups (Object &object, GreasePencil &grease_pencil, const ListBase &vertex_group_names)
 
static void remap_vertex_groups (bke::greasepencil::Drawing &drawing, const Map< StringRefNull, StringRefNull > &vertex_group_map)
 
static void join_object_with_active (Main &bmain, Object &ob_src, Object &ob_dst, VectorSet< Material * > &materials)
 
void set_selected_frames_type (bke::greasepencil::Layer &layer, const eBezTriple_KeyframeType key_type)
 
static float get_snapped_frame_number (const float frame_number, Scene &scene, const eEditKeyframes_Snap mode)
 
bool snap_selected_frames (GreasePencil &grease_pencil, bke::greasepencil::Layer &layer, Scene &scene, const eEditKeyframes_Snap mode)
 
static int get_mirrored_frame_number (const int frame_number, const Scene &scene, const eEditKeyframes_Mirror mode, const TimeMarker *first_selected_marker)
 
bool mirror_selected_frames (GreasePencil &grease_pencil, bke::greasepencil::Layer &layer, Scene &scene, const eEditKeyframes_Mirror mode)
 
bool duplicate_selected_frames (GreasePencil &grease_pencil, bke::greasepencil::Layer &layer)
 
bool remove_all_selected_frames (GreasePencil &grease_pencil, bke::greasepencil::Layer &layer)
 
static void select_frame (GreasePencilFrame &frame, const short select_mode)
 
bool select_frame_at (bke::greasepencil::Layer &layer, const int frame_number, const short select_mode)
 
void select_frames_at (bke::greasepencil::LayerGroup &layer_group, const int frame_number, const short select_mode)
 
void select_all_frames (bke::greasepencil::Layer &layer, const short select_mode)
 
bool has_any_frame_selected (const bke::greasepencil::Layer &layer)
 
void select_frames_region (KeyframeEditData *ked, bke::greasepencil::TreeNode &node, const short tool, const short select_mode)
 
void select_frames_range (bke::greasepencil::TreeNode &node, const float min, const float max, const short select_mode)
 
static void append_frame_to_key_edit_data (KeyframeEditData *ked, const int frame_number, const GreasePencilFrame &frame)
 
void create_keyframe_edit_data_selected_frames_list (KeyframeEditData *ked, const bke::greasepencil::Layer &layer)
 
bool ensure_active_keyframe (const Scene &scene, GreasePencil &grease_pencil, bke::greasepencil::Layer &layer, const bool duplicate_previous_key, bool &r_inserted_keyframe)
 
static int insert_blank_frame_exec (bContext *C, wmOperator *op)
 
static bool attributes_varrays_not_equal (const bke::GAttributeReader &attrs_a, const bke::GAttributeReader &attrs_b)
 
static bool attributes_varrays_span_data_equal (const bke::GAttributeReader &attrs_a, const bke::GAttributeReader &attrs_b)
 
template<typename T >
static bool attributes_elements_are_equal (const VArray< T > &attributes_a, const VArray< T > &attributes_b)
 
static bool curves_geometry_is_equal (const bke::CurvesGeometry &curves_a, const bke::CurvesGeometry &curves_b)
 
static int frame_clean_duplicate_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_insert_blank_frame (wmOperatorType *ot)
 
static void GREASE_PENCIL_OT_frame_clean_duplicate (wmOperatorType *ot)
 
bool grease_pencil_copy_keyframes (bAnimContext *ac, KeyframeClipboard &clipboard)
 
static int calculate_offset (const eKeyPasteOffset offset_mode, const int cfra, const KeyframeClipboard &clipboard)
 
bool grease_pencil_paste_keyframes (bAnimContext *ac, const eKeyPasteOffset offset_mode, const eKeyMergeMode merge_mode, const KeyframeClipboard &clipboard)
 
static int grease_pencil_frame_duplicate_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_frame_duplicate (wmOperatorType *ot)
 
static int grease_pencil_active_frame_delete_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_active_frame_delete (wmOperatorType *ot)
 
int64_t ramer_douglas_peucker_simplify (const IndexRange range, const float epsilon, const FunctionRef< float(int64_t, int64_t, int64_t)> dist_function, MutableSpan< bool > points_to_delete)
 
Array< float2polyline_fit_curve (Span< float2 > points, const float error_threshold, const IndexMask &corner_mask)
 
IndexMask polyline_detect_corners (Span< float2 > points, const float radius_min, const float radius_max, const int samples_max, const float angle_threshold, IndexMaskMemory &memory)
 
int curve_merge_by_distance (const IndexRange points, const Span< float > distances, const IndexMask &selection, const float merge_distance, MutableSpan< int > r_merge_indices)
 
blender::bke::CurvesGeometry curves_merge_by_distance (const bke::CurvesGeometry &src_curves, const float merge_distance, const IndexMask &selection, const bke::AttributeFilter &attribute_filter)
 
bke::CurvesGeometry curves_merge_endpoints_by_distance (const ARegion &region, const bke::CurvesGeometry &src_curves, const float4x4 &layer_to_world, const float merge_distance, const IndexMask &selection, const bke::AttributeFilter &attribute_filter)
 
static void generate_arc_from_point_to_point (const float3 &from, const float3 &to, const float3 &center_pt, const int corner_subdivisions, const int src_point_index, Vector< float3 > &r_perimeter, Vector< int > &r_src_indices)
 
static void generate_cap (const float3 &point, const float3 &tangent, const float radius, const int corner_subdivisions, const eGPDstroke_Caps cap_type, const int src_point_index, Vector< float3 > &r_perimeter, Vector< int > &r_src_indices)
 
static void generate_corner (const float3 &pt_a, const float3 &pt_b, const float3 &pt_c, const float radius, const int corner_subdivisions, const int src_point_index, Vector< float3 > &r_perimeter, Vector< int > &r_src_indices)
 
static void generate_stroke_perimeter (const Span< float3 > all_positions, const Span< float > all_radii, const IndexRange points, const int corner_subdivisions, const bool is_cyclic, const bool use_caps, const eGPDstroke_Caps start_cap_type, const eGPDstroke_Caps end_cap_type, const float outline_offset, Vector< float3 > &r_perimeter, Vector< int > &r_point_counts, Vector< int > &r_point_indices)
 
bke::CurvesGeometry create_curves_outline (const bke::greasepencil::Drawing &drawing, const IndexMask &strokes, const float4x4 &transform, const int corner_subdivisions, const float outline_radius, const float outline_offset, const int material_index)
 
Curves2DBVHTree build_curves_2d_bvh_from_visible (const ViewContext &vc, const Object &object, const GreasePencil &grease_pencil, Span< MutableDrawingInfo > drawings, const int frame_number)
 
void free_curves_2d_bvh_data (Curves2DBVHTree &data)
 
void find_curve_intersections (const bke::CurvesGeometry &curves, const IndexMask &curve_mask, const Span< float2 > screen_space_positions, const Curves2DBVHTree &tree_data, const IndexRange tree_data_range, MutableSpan< bool > r_hits, std::optional< MutableSpan< float > > r_first_intersect_factors, std::optional< MutableSpan< float > > r_last_intersect_factors)
 
CurveSegmentsData find_curve_segments (const bke::CurvesGeometry &curves, const IndexMask &curve_mask, const Span< float2 > screen_space_positions, const Curves2DBVHTree &tree_data, const IndexRange tree_data_range)
 
bool grease_pencil_layer_parent_set (bke::greasepencil::Layer &layer, Object *parent, StringRefNull bone, const bool keep_transform)
 
void grease_pencil_layer_parent_clear (bke::greasepencil::Layer &layer, const bool keep_transform)
 
void select_layer_channel (GreasePencil &grease_pencil, bke::greasepencil::Layer *layer)
 
static int grease_pencil_layer_add_exec (bContext *C, wmOperator *op)
 
static int grease_pencil_layer_add_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void GREASE_PENCIL_OT_layer_add (wmOperatorType *ot)
 
static int grease_pencil_layer_remove_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_layer_remove (wmOperatorType *ot)
 
static int grease_pencil_layer_reorder_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_reorder (wmOperatorType *ot)
 
static bool grease_pencil_layer_move_poll (bContext *C)
 
static int grease_pencil_layer_move_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_move (wmOperatorType *ot)
 
static int grease_pencil_layer_active_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_active (wmOperatorType *ot)
 
static int grease_pencil_layer_group_add_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_group_add (wmOperatorType *ot)
 
static int grease_pencil_layer_group_remove_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_group_remove (wmOperatorType *ot)
 
static int grease_pencil_layer_hide_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_hide (wmOperatorType *ot)
 
static int grease_pencil_layer_reveal_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_layer_reveal (wmOperatorType *ot)
 
static int grease_pencil_layer_isolate_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_isolate (wmOperatorType *ot)
 
static int grease_pencil_layer_lock_all_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_lock_all (wmOperatorType *ot)
 
static int grease_pencil_layer_duplicate_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_duplicate (wmOperatorType *ot)
 
static int grease_pencil_merge_layer_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_merge (wmOperatorType *ot)
 
static int grease_pencil_layer_mask_add_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_mask_add (wmOperatorType *ot)
 
static int grease_pencil_layer_mask_remove_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_layer_mask_remove (wmOperatorType *ot)
 
static int grease_pencil_layer_mask_reorder_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_mask_reorder (wmOperatorType *ot)
 
static int grease_pencil_layer_group_color_tag_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_group_color_tag (wmOperatorType *ot)
 
static void duplicate_layer_and_frames (GreasePencil &dst_grease_pencil, const GreasePencil &src_grease_pencil, const blender::bke::greasepencil::Layer &src_layer, const DuplicateCopyMode copy_frame_mode, const int current_frame)
 
static int grease_pencil_layer_duplicate_object_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_layer_duplicate_object (wmOperatorType *ot)
 
void get_lineart_modifier_limits (const Object &ob, blender::ed::greasepencil::LineartLimitInfo &info)
 
void set_lineart_modifier_limits (GreasePencilLineartModifierData &lmd, const blender::ed::greasepencil::LineartLimitInfo &info, const bool cache_is_ready)
 
GreasePencilLineartModifierDataget_first_lineart_modifier (const Object &ob)
 
static void copy_layer_groups_without_layers (GreasePencil &dst_grease_pencil, const LayerGroup &src_parent, LayerGroup &dst_parent)
 
static Vector< const LayerGroup * > get_sorted_layer_parents (const Layer &layer)
 
static const LayerGroupfind_lowest_common_ancestor (const GreasePencil &grease_pencil, const Span< int > src_layer_indices)
 
static bke::CurvesGeometry join_curves (const GreasePencil &src_grease_pencil, const Span< const bke::CurvesGeometry * > all_src_curves, const Span< float4x4 > transforms_to_apply)
 
void merge_layers (const GreasePencil &src_grease_pencil, const Span< Vector< int > > src_layer_indices_by_dst_layer, GreasePencil &dst_grease_pencil)
 
bool grease_pencil_context_poll (bContext *C)
 
bool active_grease_pencil_poll (bContext *C)
 
bool active_grease_pencil_material_poll (bContext *C)
 
bool editable_grease_pencil_poll (bContext *C)
 
bool active_grease_pencil_layer_poll (bContext *C)
 
bool editable_grease_pencil_point_selection_poll (bContext *C)
 
bool grease_pencil_selection_poll (bContext *C)
 
bool grease_pencil_painting_poll (bContext *C)
 
bool grease_pencil_edit_poll (bContext *C)
 
bool grease_pencil_sculpting_poll (bContext *C)
 
bool grease_pencil_weight_painting_poll (bContext *C)
 
bool grease_pencil_vertex_painting_poll (bContext *C)
 
static void keymap_grease_pencil_selection (wmKeyConfig *keyconf)
 
static void keymap_grease_pencil_edit_mode (wmKeyConfig *keyconf)
 
static void keymap_grease_pencil_paint_mode (wmKeyConfig *keyconf)
 
static void keymap_grease_pencil_sculpt_mode (wmKeyConfig *keyconf)
 
static void keymap_grease_pencil_weight_paint_mode (wmKeyConfig *keyconf)
 
static void keymap_grease_pencil_vertex_paint_mode (wmKeyConfig *keyconf)
 
static bool keymap_grease_pencil_brush_stroke_poll (bContext *C)
 
static void keymap_grease_pencil_brush_stroke (wmKeyConfig *keyconf)
 
static bool keymap_grease_pencil_fill_tool_poll (bContext *C)
 
static void keymap_grease_pencil_fill_tool (wmKeyConfig *keyconf)
 
static int control_points_per_segment (const PrimitiveToolOperation &ptd)
 
static ControlPointType get_control_point_type (const PrimitiveToolOperation &ptd, const int point)
 
static void control_point_colors_and_sizes (const PrimitiveToolOperation &ptd, MutableSpan< ColorGeometry4f > colors, MutableSpan< float > sizes)
 
static void draw_control_points (PrimitiveToolOperation &ptd)
 
static void grease_pencil_primitive_draw (const bContext *, ARegion *, void *arg)
 
static void grease_pencil_primitive_save (PrimitiveToolOperation &ptd)
 
static void grease_pencil_primitive_load (PrimitiveToolOperation &ptd)
 
static void primitive_calulate_curve_positions (PrimitiveToolOperation &ptd, Span< float2 > control_points, MutableSpan< float2 > new_positions)
 
static float2 primitive_local_to_screen (const PrimitiveToolOperation &ptd, const float3 &point)
 
static void primitive_calulate_curve_positions_2d (PrimitiveToolOperation &ptd, MutableSpan< float2 > new_positions)
 
static int grease_pencil_primitive_curve_points_number (PrimitiveToolOperation &ptd)
 
static void grease_pencil_primitive_update_curves (PrimitiveToolOperation &ptd)
 
static void grease_pencil_primitive_init_curves (PrimitiveToolOperation &ptd)
 
static void grease_pencil_primitive_undo_curves (PrimitiveToolOperation &ptd)
 
static void grease_pencil_primitive_status_indicators (bContext *C, wmOperator *op, PrimitiveToolOperation &ptd)
 
static void grease_pencil_primitive_update_view (bContext *C, PrimitiveToolOperation &ptd)
 
static int grease_pencil_primitive_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void grease_pencil_primitive_exit (bContext *C, wmOperator *op)
 
static float2 snap_diagonals (float2 p)
 
static float2 snap_diagonals_box (float2 p)
 
static float2 snap_8_angles (float2 p)
 
static void grease_pencil_primitive_extruding_update (PrimitiveToolOperation &ptd, const wmEvent *event)
 
static void grease_pencil_primitive_drag_all_update (PrimitiveToolOperation &ptd, const wmEvent *event)
 
static void grease_pencil_primitive_grab_update (PrimitiveToolOperation &ptd, const wmEvent *event)
 
static void grease_pencil_primitive_drag_update (PrimitiveToolOperation &ptd, const wmEvent *event)
 
static float2 primitive_center_of_mass (const PrimitiveToolOperation &ptd)
 
static void grease_pencil_primitive_rotate_all_update (PrimitiveToolOperation &ptd, const wmEvent *event)
 
static void grease_pencil_primitive_scale_all_update (PrimitiveToolOperation &ptd, const wmEvent *event)
 
static int primitive_check_ui_hover (const PrimitiveToolOperation &ptd, const wmEvent *event)
 
static void grease_pencil_primitive_cursor_update (bContext *C, PrimitiveToolOperation &ptd, const wmEvent *event)
 
static int grease_pencil_primitive_event_modal_map (bContext *C, wmOperator *op, PrimitiveToolOperation &ptd, const wmEvent *event)
 
static int grease_pencil_primitive_mouse_event (PrimitiveToolOperation &ptd, const wmEvent *event)
 
static void grease_pencil_primitive_operator_update (PrimitiveToolOperation &ptd, const wmEvent *event)
 
static int grease_pencil_primitive_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static void grease_pencil_primitive_cancel (bContext *C, wmOperator *op)
 
static void grease_pencil_primitive_common_props (wmOperatorType *ot, const int default_subdiv, const PrimitiveType default_type)
 
static void GREASE_PENCIL_OT_primitive_line (wmOperatorType *ot)
 
static void GREASE_PENCIL_OT_primitive_polyline (wmOperatorType *ot)
 
static void GREASE_PENCIL_OT_primitive_arc (wmOperatorType *ot)
 
static void GREASE_PENCIL_OT_primitive_curve (wmOperatorType *ot)
 
static void GREASE_PENCIL_OT_primitive_box (wmOperatorType *ot)
 
static void GREASE_PENCIL_OT_primitive_circle (wmOperatorType *ot)
 
static int select_all_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_select_all (wmOperatorType *ot)
 
static int select_more_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_select_more (wmOperatorType *ot)
 
static int select_less_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_select_less (wmOperatorType *ot)
 
static int select_linked_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_select_linked (wmOperatorType *ot)
 
static int select_random_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_select_random (wmOperatorType *ot)
 
static int select_alternate_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_select_alternate (wmOperatorType *ot)
 
template<typename T >
void insert_selected_values (const bke::CurvesGeometry &curves, const bke::AttrDomain domain, const StringRef attribute_id, blender::Set< T > &r_value_set)
 
template<typename T , typename DistanceFn >
static void select_similar_by_value (Scene *scene, Object *object, GreasePencil &grease_pencil, const bke::AttrDomain domain, const StringRef attribute_id, float threshold, DistanceFn distance_fn)
 
static void select_similar_by_layer (Scene *scene, Object *object, GreasePencil &grease_pencil, bke::AttrDomain domain)
 
static int select_similar_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_select_similar (wmOperatorType *ot)
 
static int select_ends_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_select_ends (wmOperatorType *ot)
 
static int select_set_mode_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_set_selection_mode (wmOperatorType *ot)
 
static int grease_pencil_material_select_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_material_select (wmOperatorType *ot)
 
static bool execute_trim_on_drawing (const int layer_index, const int frame_number, const Object &ob_eval, Object &obact, const ARegion &region, const float4x4 &projection, const Span< int2 > mcoords, const bool keep_caps, bke::greasepencil::Drawing &drawing)
 
static int stroke_trim_execute (const bContext *C, const Span< int2 > mcoords)
 
static int grease_pencil_stroke_trim (bContext *C, wmOperator *op)
 
static float get_multi_frame_falloff (const int frame_number, const int center_frame, const int min_frame, const int max_frame, const CurveMapping *falloff_curve)
 
static std::pair< int, intget_minmax_selected_frame_numbers (const GreasePencil &grease_pencil, const int current_frame)
 
static std::optional< intget_frame_id (const bke::greasepencil::Layer &layer, const GreasePencilFrame &frame, const int frame_number, const int frame_index, const int current_frame, const int current_frame_index, const int last_frame, const int last_frame_index, const bool use_multi_frame_editing, const bool do_onion_skinning, const bool is_before_first, const GreasePencilOnionSkinningSettings onion_settings)
 
static Array< std::pair< int, int > > get_visible_frames_for_layer (const GreasePencil &grease_pencil, const bke::greasepencil::Layer &layer, const int current_frame, const bool use_multi_frame_editing, const bool do_onion_skinning)
 
static Array< intget_editable_frames_for_layer (const GreasePencil &grease_pencil, const bke::greasepencil::Layer &layer, const int current_frame, const bool use_multi_frame_editing)
 
Vector< MutableDrawingInforetrieve_editable_drawings (const Scene &scene, GreasePencil &grease_pencil)
 
Vector< MutableDrawingInforetrieve_editable_drawings_with_falloff (const Scene &scene, GreasePencil &grease_pencil)
 
Array< Vector< MutableDrawingInfo > > retrieve_editable_drawings_grouped_per_frame (const Scene &scene, GreasePencil &grease_pencil)
 
Vector< MutableDrawingInforetrieve_editable_drawings_from_layer (const Scene &scene, GreasePencil &grease_pencil, const blender::bke::greasepencil::Layer &layer)
 
Vector< MutableDrawingInforetrieve_editable_drawings_from_layer_with_falloff (const Scene &scene, GreasePencil &grease_pencil, const blender::bke::greasepencil::Layer &layer)
 
Vector< DrawingInforetrieve_visible_drawings (const Scene &scene, const GreasePencil &grease_pencil, const bool do_onion_skinning)
 
static VectorSet< intget_editable_material_indices (Object &object)
 
static VectorSet< intget_hidden_material_indices (Object &object)
 
static VectorSet< intget_fill_material_indices (Object &object)
 
IndexMask retrieve_editable_strokes (Object &object, const bke::greasepencil::Drawing &drawing, int layer_index, IndexMaskMemory &memory)
 
IndexMask retrieve_editable_fill_strokes (Object &object, const bke::greasepencil::Drawing &drawing, int layer_index, IndexMaskMemory &memory)
 
IndexMask retrieve_editable_strokes_by_material (Object &object, const bke::greasepencil::Drawing &drawing, const int mat_i, IndexMaskMemory &memory)
 
IndexMask retrieve_editable_points (Object &object, const bke::greasepencil::Drawing &drawing, int layer_index, IndexMaskMemory &memory)
 
IndexMask retrieve_editable_elements (Object &object, const MutableDrawingInfo &info, const bke::AttrDomain selection_domain, IndexMaskMemory &memory)
 
IndexMask retrieve_visible_strokes (Object &object, const bke::greasepencil::Drawing &drawing, IndexMaskMemory &memory)
 
IndexMask retrieve_visible_points (Object &object, const bke::greasepencil::Drawing &drawing, IndexMaskMemory &memory)
 
IndexMask retrieve_visible_bezier_handle_points (Object &object, const bke::greasepencil::Drawing &drawing, const int layer_index, IndexMaskMemory &memory)
 
IndexMask retrieve_visible_bezier_handle_elements (Object &object, const bke::greasepencil::Drawing &drawing, const int layer_index, const bke::AttrDomain selection_domain, IndexMaskMemory &memory)
 
IndexMask retrieve_editable_and_selected_strokes (Object &object, const bke::greasepencil::Drawing &drawing, int layer_index, IndexMaskMemory &memory)
 
IndexMask retrieve_editable_and_selected_fill_strokes (Object &object, const bke::greasepencil::Drawing &drawing, int layer_index, IndexMaskMemory &memory)
 
IndexMask retrieve_editable_and_selected_points (Object &object, const bke::greasepencil::Drawing &drawing, int layer_index, IndexMaskMemory &memory)
 
IndexMask retrieve_editable_and_selected_elements (Object &object, const bke::greasepencil::Drawing &drawing, int layer_index, const bke::AttrDomain selection_domain, IndexMaskMemory &memory)
 
Array< PointTransferDatacompute_topology_change (const bke::CurvesGeometry &src, bke::CurvesGeometry &dst, const Span< Vector< PointTransferData > > src_to_dst_points, const bool keep_caps)
 
static float pixel_radius_to_world_space_radius (const RegionView3D *rv3d, const ARegion *region, const float3 center, const float4x4 to_world, const float pixel_radius)
 
static float brush_radius_at_location (const RegionView3D *rv3d, const ARegion *region, const Brush *brush, const float3 location, const float4x4 to_world)
 
float radius_from_input_sample (const RegionView3D *rv3d, const ARegion *region, const Brush *brush, const float pressure, const float3 location, const float4x4 to_world, const BrushGpencilSettings *settings)
 
float opacity_from_input_sample (const float pressure, const Brush *brush, const BrushGpencilSettings *settings)
 
int grease_pencil_draw_operator_invoke (bContext *C, wmOperator *op, const bool use_duplicate_previous_key)
 
float4x2 calculate_texture_space (const Scene *scene, const ARegion *region, const float2 &mouse, const DrawingPlacement &placement)
 
GreasePencilfrom_context (bContext &C)
 
template<typename Fn >
static bool apply_color_operation_for_mode (const VertexColorMode mode, Object &object, MutableDrawingInfo &info, Fn &&fn)
 
static int grease_pencil_vertex_paint_brightness_contrast_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertex_color_brightness_contrast (wmOperatorType *ot)
 
static int grease_pencil_vertex_paint_hsv_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertex_color_hsv (wmOperatorType *ot)
 
static int grease_pencil_vertex_paint_invert_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertex_color_invert (wmOperatorType *ot)
 
static int grease_pencil_vertex_paint_levels_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertex_color_levels (wmOperatorType *ot)
 
static int grease_pencil_vertex_paint_set_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertex_color_set (wmOperatorType *ot)
 
static int grease_pencil_vertex_paint_reset_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_stroke_reset_vertex_color (wmOperatorType *ot)
 
Set< std::string > get_bone_deformed_vertex_group_names (const Object &object)
 
static bool normalize_vertex_weights_try (MDeformVert &dvert, const int vertex_groups_num, const Span< bool > vertex_group_is_bone_deformed, const FunctionRef< bool(int)> vertex_group_is_locked)
 
void normalize_vertex_weights (MDeformVert &dvert, const int active_vertex_group, const Span< bool > vertex_group_is_locked, const Span< bool > vertex_group_is_bone_deformed)
 
static int foreach_bone_in_armature_ex (Object &ob, const Bone *bone, const FunctionRef< bool(Object &, const Bone *)> bone_callback)
 
static int foreach_bone_in_armature (Object &ob, const bArmature &armature, const FunctionRef< bool(Object &, const Bone *)> bone_callback)
 
bool add_armature_vertex_groups (Object &object, const Object &ob_armature)
 
static bool get_skinnable_bones_and_deform_group_names (const bArmature &armature, Object &object, Vector< const Bone * > &r_skinnable_bones, Vector< std::string > &r_deform_group_names)
 
static void get_root_and_tips_of_bones (Span< const Bone * > bones, const float4x4 &transform, MutableSpan< float3 > roots, MutableSpan< float3 > tips)
 
static int lookup_or_add_deform_group_index (CurvesGeometry &curves, const StringRef name)
 
void add_armature_envelope_weights (Scene &scene, Object &object, const Object &ob_armature)
 
void add_armature_automatic_weights (Scene &scene, Object &object, const Object &ob_armature)
 
static int weight_sample_invoke (bContext *C, wmOperator *, const wmEvent *event)
 
static void GREASE_PENCIL_OT_weight_sample (wmOperatorType *ot)
 
static int toggle_weight_tool_direction (bContext *C, wmOperator *)
 
static bool toggle_weight_tool_direction_poll (bContext *C)
 
static void GREASE_PENCIL_OT_weight_toggle_direction (wmOperatorType *ot)
 
static int grease_pencil_weight_invert_exec (bContext *C, wmOperator *op)
 
static bool grease_pencil_vertex_group_weight_poll (bContext *C)
 
static void GREASE_PENCIL_OT_weight_invert (wmOperatorType *ot)
 
static int vertex_group_smooth_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertex_group_smooth (wmOperatorType *ot)
 
static int vertex_group_normalize_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertex_group_normalize (wmOperatorType *ot)
 
static int vertex_group_normalize_all_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertex_group_normalize_all (wmOperatorType *ot)
 
bke::CurvesGeometry fill_strokes (const ViewContext &view_context, const Brush &brush, const Scene &scene, const bke::greasepencil::Layer &layer, const VArray< bool > &boundary_layers, Span< DrawingInfo > src_drawings, bool invert, const std::optional< float > alpha_threshold, const float2 &fill_point, const ExtensionData &extensions, FillToolFitMethod fit_method, int stroke_material_index, bool keep_images)
 
static IndexMask get_visible_boundary_strokes (const Object &object, const DrawingInfo &info, const bool is_boundary_layer, IndexMaskMemory &memory)
 
static VArray< ColorGeometry4fget_stroke_colors (const Object &object, const bke::CurvesGeometry &curves, const VArray< float > &opacities, const VArray< int > materials, const ColorGeometry4f &tint_color, const std::optional< float > alpha_threshold)
 
static rctf get_region_bounds (const ARegion &region)
 
static rctf get_boundary_bounds (const ARegion &region, const RegionView3D &rv3d, const Object &object, const Object &object_eval, const VArray< bool > &boundary_layers, const Span< DrawingInfo > src_drawings)
 
static auto fit_strokes_to_view (const ViewContext &view_context, const VArray< bool > &boundary_layers, const Span< DrawingInfo > src_drawings, const FillToolFitMethod fit_method, const float2 fill_point, const bool uniform_zoom, const float max_zoom_factor, const float2 margin)
 
Smooth Stroke Operator
static int grease_pencil_stroke_smooth_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_stroke_smooth (wmOperatorType *ot)
 
Simplify Stroke Operator
static float dist_to_interpolated (float3 pos, float3 posA, float3 posB, float val, float valA, float valB)
 
static int64_t stroke_simplify (const IndexRange points, const bool cyclic, const float epsilon, const FunctionRef< float(int64_t, int64_t, int64_t)> dist_function, MutableSpan< bool > points_to_delete)
 
static int grease_pencil_stroke_simplify_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_stroke_simplify (wmOperatorType *ot)
 
Delete Operator
static bke::CurvesGeometry remove_points_and_split (const bke::CurvesGeometry &curves, const IndexMask &mask)
 
static int grease_pencil_delete_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_delete (wmOperatorType *ot)
 
Stroke Material Set Operator
static int grease_pencil_stroke_material_set_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_stroke_material_set (wmOperatorType *ot)
 
Set Active Material Operator
static int grease_pencil_set_active_material_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_set_active_material (wmOperatorType *ot)
 
static const EnumPropertyItemmaterial_enum_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free)
 
static int grease_pencil_set_material_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_set_material (wmOperatorType *ot)
 
Set Uniform Thickness Operator
static int grease_pencil_set_uniform_thickness_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_set_uniform_thickness (wmOperatorType *ot)
 
Set Uniform Opacity Operator
static int grease_pencil_set_uniform_opacity_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_set_uniform_opacity (wmOperatorType *ot)
 
Switch Direction Operator
static int grease_pencil_stroke_switch_direction_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_stroke_switch_direction (wmOperatorType *ot)
 
Duplicate Operator
static int grease_pencil_duplicate_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_duplicate (wmOperatorType *ot)
 
static int grease_pencil_clean_loose_exec (bContext *C, wmOperator *op)
 
static int grease_pencil_clean_loose_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void GREASE_PENCIL_OT_clean_loose (wmOperatorType *ot)
 
Stroke Subdivide Operator
static int gpencil_stroke_subdivide_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_stroke_subdivide (wmOperatorType *ot)
 
Move To Layer Operator
static int grease_pencil_move_to_layer_exec (bContext *C, wmOperator *op)
 
static int grease_pencil_move_to_layer_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void GREASE_PENCIL_OT_move_to_layer (wmOperatorType *ot)
 
Merge Stroke Operator
static int grease_pencil_stroke_merge_by_distance_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_stroke_merge_by_distance (wmOperatorType *ot)
 
Extrude Operator
static bke::CurvesGeometry extrude_grease_pencil_curves (const bke::CurvesGeometry &src, const IndexMask &points_to_extrude)
 
static int grease_pencil_extrude_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_extrude (wmOperatorType *ot)
 
Reproject Strokes Operator
static int grease_pencil_reproject_exec (bContext *C, wmOperator *op)
 
static void grease_pencil_reproject_ui (bContext *, wmOperator *op)
 
static void GREASE_PENCIL_OT_reproject (wmOperatorType *ot)
 
Snapping Selection to Grid Operator
static bool grease_pencil_snap_poll (bContext *C)
 
static int grease_pencil_snap_to_grid_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_snap_to_grid (wmOperatorType *ot)
 
Snapping Selection to Cursor Operator
static int grease_pencil_snap_to_cursor_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_snap_to_cursor (wmOperatorType *ot)
 
Snapping Cursor to Selection Operator
static bool grease_pencil_snap_compute_centroid (const Scene &scene, const Object &object, const GreasePencil &grease_pencil, float3 &r_centroid, float3 &r_min, float3 &r_max)
 
static int grease_pencil_snap_cursor_to_sel_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_snap_cursor_to_selected (wmOperatorType *ot)
 
static float4x3 expand_4x2_mat (float4x2 strokemat)
 
static int grease_pencil_texture_gradient_exec (bContext *C, wmOperator *op)
 
static int grease_pencil_texture_gradient_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static int grease_pencil_texture_gradient_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void GREASE_PENCIL_OT_texture_gradient (wmOperatorType *ot)
 
Set Curve Type Operator
static int grease_pencil_set_curve_type_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_set_curve_type (wmOperatorType *ot)
 
Set Handle Type Operator
static int grease_pencil_set_handle_type_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_set_handle_type (wmOperatorType *ot)
 
Set Curve Resolution Operator
static int grease_pencil_set_curve_resolution_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_set_curve_resolution (wmOperatorType *ot)
 
static int grease_pencil_reset_uvs_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_reset_uvs (wmOperatorType *ot)
 
Show All Materials Operator
static int grease_pencil_material_reveal_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_material_reveal (wmOperatorType *ot)
 
Hide Others Materials Operator
static int grease_pencil_material_hide_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_material_hide (wmOperatorType *ot)
 
Lock All Materials Operator
static int grease_pencil_material_lock_all_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_material_lock_all (wmOperatorType *ot)
 
Unlock All Materials Operator
static int grease_pencil_material_unlock_all_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_material_unlock_all (wmOperatorType *ot)
 
Lock Unused Materials Operator
static int grease_pencil_material_lock_unused_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_material_lock_unused (wmOperatorType *ot)
 
Lock Unselected Materials Operator
static int grease_pencil_material_lock_unselected_exec (bContext *C, wmOperator *)
 
static void GREASE_PENCIL_OT_material_lock_unselected (wmOperatorType *ot)
 
Copy Materials to Selected Objects
static int grease_pencil_material_copy_to_object_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_material_copy_to_object (wmOperatorType *ot)
 
static int material_isolate_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_material_isolate (wmOperatorType *ot)
 
Toggle Stroke Paint Mode Operator
static bool brush_cursor_poll (bContext *C)
 
static bool paintmode_toggle_poll (bContext *C)
 
static int paintmode_toggle_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_paintmode_toggle (wmOperatorType *ot)
 
Toggle Stroke Sculpt Mode Operator
static bool sculptmode_toggle_poll (bContext *C)
 
static bool sculpt_poll_view3d (bContext *C)
 
static int sculptmode_toggle_exec (bContext *C, wmOperator *op)
 
Toggle Weight Paint Mode Operator
static void GREASE_PENCIL_OT_sculptmode_toggle (wmOperatorType *ot)
 
static bool grease_pencil_poll_weight_cursor (bContext *C)
 
static bool weightmode_toggle_poll (bContext *C)
 
static int weightmode_toggle_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_weightmode_toggle (wmOperatorType *ot)
 
Toggle Vertex Paint Mode Operator
static bool grease_pencil_poll_vertex_cursor (bContext *C)
 
static bool vertexmode_toggle_poll (bContext *C)
 
static int vertexmode_toggle_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_vertexmode_toggle (wmOperatorType *ot)
 
Selection Utility Functions
int clamp_range (const IndexRange range, const int index)
 
template<typename Fn >
static int foreach_curve_segment (const CurveSegmentsData &segment_data, const int curve_index, const IndexRange points, Fn &&fn)
 
bool apply_mask_as_selection (bke::CurvesGeometry &curves, const IndexMask &selection_mask, const bke::AttrDomain selection_domain, const StringRef attribute_name, const GrainSize grain_size, const eSelectOp sel_op)
 
bool apply_mask_as_segment_selection (bke::CurvesGeometry &curves, const IndexMask &point_selection_mask, const StringRef attribute_name, const Curves2DBVHTree &tree_data, const IndexRange tree_data_range, const GrainSize grain_size, const eSelectOp sel_op)
 
bool selection_update (const ViewContext *vc, const eSelectOp sel_op, SelectionUpdateFunc select_operation)
 

Variables

static const ColorTemplate gp_stroke_material_black
 
static const ColorTemplate gp_stroke_material_white
 
static const ColorTemplate gp_stroke_material_red
 
static const ColorTemplate gp_stroke_material_green
 
static const ColorTemplate gp_stroke_material_blue
 
static const ColorTemplate gp_fill_material_grey
 
static const ColorTemplate gp_monkey_material_black
 
static const ColorTemplate gp_monkey_material_skin
 
static const ColorTemplate gp_monkey_material_skin_light
 
static const ColorTemplate gp_monkey_material_skin_shadow
 
static const ColorTemplate gp_monkey_material_eyes
 
static const ColorTemplate gp_monkey_material_pupils
 
static const EnumPropertyItem prop_layer_reorder_location []
 
static const EnumPropertyItem enum_layer_move_direction []
 
const EnumPropertyItem enum_layergroup_color_items []
 
static constexpr float ui_primary_point_draw_size_px = 8.0f
 
static constexpr float ui_secondary_point_draw_size_px = 5.0f
 
static constexpr float ui_tertiary_point_draw_size_px = 3.0f
 
static constexpr float ui_point_hit_size_px = 20.0f
 
static constexpr float ui_point_max_hit_size_px = 600.0f
 
static constexpr int control_point_first = 0
 
static constexpr int control_point_center = 1
 
static constexpr int control_point_last = 2
 
static const EnumPropertyItem select_similar_mode_items []
 
static constexpr int BBOX_PADDING = 2
 
static const EnumPropertyItem prop_grease_pencil_vertex_mode []
 
constexpr const char * attr_material_index = "material_index"
 
constexpr const char * attr_is_boundary = "is_boundary"
 

Dissolve Points Operator

enum class  DissolveMode : int8_t { POINTS = 0 , BETWEEN = 1 , UNSELECT = 2 }
 
static const EnumPropertyItem prop_dissolve_types []
 
static Array< bool > get_points_to_dissolve (bke::CurvesGeometry &curves, const IndexMask &mask, const DissolveMode mode)
 
static int grease_pencil_dissolve_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_dissolve (wmOperatorType *ot)
 

Delete Frame Operator

enum class  DeleteFrameMode : int8_t { ACTIVE_FRAME = 0 , ALL_FRAMES = 1 }
 
static const EnumPropertyItem prop_greasepencil_deleteframe_types []
 
static int grease_pencil_delete_frame_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_delete_frame (wmOperatorType *ot)
 

Cyclical Set Operator

enum class  CyclicalMode : int8_t { CLOSE = 0 , OPEN = 1 , TOGGLE = 2 }
 
static const EnumPropertyItem prop_cyclical_types []
 
static int grease_pencil_cyclical_set_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_cyclical_set (wmOperatorType *ot)
 

Set Curve Caps Operator

enum class  CapsMode : int8_t { FLAT = 0 , START = 1 , END = 2 , ROUND = 3 }
 
static void toggle_caps (MutableSpan< int8_t > caps, const IndexMask &strokes)
 
static int grease_pencil_caps_set_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_caps_set (wmOperatorType *ot)
 

Reorder Operator

enum class  ReorderDirection : int8_t { TOP = 0 , UP = 1 , DOWN = 2 , BOTTOM = 3 }
 
static Array< intget_reordered_indices (const IndexRange universe, const IndexMask &selected, const ReorderDirection direction)
 
static int grease_pencil_stroke_reorder_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_stroke_reorder (wmOperatorType *ot)
 

Stroke Separate Operator

enum class  SeparateMode : int8_t { SELECTED = 0 , MATERIAL = 1 , LAYER = 2 }
 
static const EnumPropertyItem prop_separate_modes []
 
static void remove_unused_materials (Main *bmain, Object *object)
 
static Objectduplicate_grease_pencil_object (Main *bmain, Scene *scene, ViewLayer *view_layer, Base *base_prev, const GreasePencil &grease_pencil_src)
 
static bke::greasepencil::Layerfind_or_create_layer_in_dst_by_name (const int layer_index, const GreasePencil &grease_pencil_src, GreasePencil &grease_pencil_dst)
 
static bool grease_pencil_separate_selected (bContext &C, Main &bmain, Scene &scene, ViewLayer &view_layer, Base &base_prev, Object &object_src)
 
static bool grease_pencil_separate_layer (bContext &C, Main &bmain, Scene &scene, ViewLayer &view_layer, Base &base_prev, Object &object_src)
 
static bool grease_pencil_separate_material (bContext &C, Main &bmain, Scene &scene, ViewLayer &view_layer, Base &base_prev, Object &object_src)
 
static int grease_pencil_separate_exec (bContext *C, wmOperator *op)
 
static void GREASE_PENCIL_OT_separate (wmOperatorType *ot)
 

Color Values and Flags

enum  ColorFlag {
  Border = (1 << 0) , Stroke = (1 << 1) , Fill = (1 << 2) , Seed = (1 << 3) ,
  Debug = (1 << 7)
}
 
const ColorGeometry4f draw_boundary_color = {1, 0, 0, 1}
 
const ColorGeometry4f draw_seed_color = {0, 1, 0, 1}
 

Boundary from Pixel Buffer

enum class  FillResult { Success , BorderContact }
 
enum  FillBorderMode { Cancel , Ignore }
 
constexpr const int num_directions = 8
 
static const int2 offset_by_direction [num_directions]
 
static bool get_flag (const ColorGeometry4b &color, const ColorFlag flag)
 
static void set_flag (ColorGeometry4b &color, const ColorFlag flag, bool value)
 
static void convert_colors_to_flags (ImageBufferAccessor &buffer)
 
static void convert_flags_to_colors (ImageBufferAccessor &buffer)
 
static void mark_borders (ImageBufferAccessor &buffer)
 
template<FillBorderMode border_mode>
FillResult flood_fill (ImageBufferAccessor &buffer, const int leak_filter_width=0)
 
static void invert_fill (ImageBufferAccessor &buffer)
 
static void dilate (ImageBufferAccessor &buffer, int iterations=1)
 
static void erode (ImageBufferAccessor &buffer, int iterations=1)
 
static int wrap_dir_3n (const int dir)
 
static FillBoundary build_fill_boundary (const ImageBufferAccessor &buffer, bool include_holes)
 
static bke::CurvesGeometry boundary_to_curves (const Scene &scene, const ViewContext &view_context, const Brush &brush, const FillBoundary &boundary, const ImageBufferAccessor &buffer, const ed::greasepencil::DrawingPlacement &placement, const int material_index, const float hardness)
 
static bke::CurvesGeometry process_image (Image &ima, const Scene &scene, const ViewContext &view_context, const Brush &brush, const ed::greasepencil::DrawingPlacement &placement, const int stroke_material_index, const float stroke_hardness, const bool invert, const bool output_as_colors)
 

Copy and Paste Operator

static struct blender::ed::greasepencil::Clipboardgrease_pencil_clipboard = nullptr
 
std::mutex grease_pencil_clipboard_lock
 
static Clipboardensure_grease_pencil_clipboard ()
 
static int grease_pencil_paste_strokes_exec (bContext *C, wmOperator *op)
 
static bke::GeometrySet join_geometries_with_transform (Span< bke::GeometrySet > geometries, Span< float4x4 > transforms)
 
static int grease_pencil_copy_strokes_exec (bContext *C, wmOperator *op)
 
static bool grease_pencil_paste_strokes_poll (bContext *C)
 
static void GREASE_PENCIL_OT_paste (wmOperatorType *ot)
 
static void GREASE_PENCIL_OT_copy (wmOperatorType *ot)
 

Typedef Documentation

◆ SelectionUpdateFunc

Initial value:
FunctionRef<IndexMask(const ed::greasepencil::MutableDrawingInfo &info,
const IndexMask &universe,
StringRef attribute_name,
IndexMaskMemory &memory)>

Definition at line 745 of file ED_grease_pencil.hh.

Enumeration Type Documentation

◆ CapsMode

Enumerator
FLAT 

Switches both to Flat.

START 

Change only start.

END 

Change only end.

ROUND 

Switches both to default rounded.

Definition at line 1131 of file grease_pencil_edit.cc.

◆ ColorFlag

Enumerator
Border 
Stroke 
Fill 
Seed 
Debug 

Definition at line 55 of file grease_pencil_fill.cc.

◆ ControlPointType

Enumerator
JoinPoint 
HandlePoint 

Definition at line 77 of file grease_pencil_primitive.cc.

◆ CyclicalMode

Enumerator
CLOSE 

Sets all strokes to cycle.

OPEN 

Sets all strokes to not cycle.

TOGGLE 

Switches the cyclic state of the strokes.

Definition at line 831 of file grease_pencil_edit.cc.

◆ DeleteFrameMode

Enumerator
ACTIVE_FRAME 

Delete the active frame for the current layer.

ALL_FRAMES 

Delete the active frames for all layers.

Definition at line 677 of file grease_pencil_edit.cc.

◆ DissolveMode

Enumerator
POINTS 

Dissolve all selected points.

BETWEEN 

Dissolve between selected points.

UNSELECT 

Dissolve unselected points.

Definition at line 523 of file grease_pencil_edit.cc.

◆ DrawingPlacementDepth

Enumerator
ObjectOrigin 
Cursor 
Surface 
NearestStroke 

Definition at line 114 of file ED_grease_pencil.hh.

◆ DrawingPlacementPlane

Enumerator
View 
Front 
Side 
Top 
Cursor 

Definition at line 116 of file ED_grease_pencil.hh.

◆ DuplicateCopyMode

Enumerator
All 
Active 

Definition at line 1108 of file grease_pencil_layers.cc.

◆ FillBorderMode

Enumerator
Cancel 
Ignore 

Definition at line 252 of file grease_pencil_fill.cc.

◆ FillResult

Enumerator
Success 
BorderContact 

Definition at line 247 of file grease_pencil_fill.cc.

◆ FillToolFitMethod

Method used by the Fill tool to fit the render buffer to strokes.

Enumerator
None 
FitToView 

Definition at line 561 of file ED_grease_pencil.hh.

◆ InterpolateFlipMode

Enumerator
None 
Flip 
FlipAuto 

Definition at line 710 of file ED_grease_pencil.hh.

◆ InterpolateLayerMode

Enumerator
Active 
All 

Definition at line 719 of file ED_grease_pencil.hh.

◆ LayerMoveDirection

Enumerator
Up 
Down 

Definition at line 274 of file grease_pencil_layers.cc.

◆ MergeMode

Enumerator
Down 
Group 
All 

Definition at line 747 of file grease_pencil_layers.cc.

◆ ModalKeyMode

Enumerator
Cancel 
Confirm 
Extrude 
Panning 
Grab 
Rotate 
Scale 
IncreaseSubdivision 
DecreaseSubdivision 

Definition at line 84 of file grease_pencil_primitive.cc.

◆ OperatorMode

Enumerator
Idle 
Extruding 
Grab 
Drag 
DragAll 
RotateAll 
ScaleAll 

Definition at line 62 of file grease_pencil_primitive.cc.

◆ PrimitiveType

Enumerator
Line 
Polyline 
Arc 
Curve 
Box 
Circle 

Definition at line 53 of file grease_pencil_primitive.cc.

◆ ReorderDirection

Enumerator
TOP 

Move the selected strokes to be drawn in front.

UP 

Increase the draw order of the selected strokes.

DOWN 

Decrease the draw order of the selected strokes.

BOTTOM 

Move the selected strokes to be drawn behind.

Definition at line 1552 of file grease_pencil_edit.cc.

◆ ReprojectMode

Enumerator
Front 
Side 
Top 
View 
Cursor 
Surface 
Keep 

Definition at line 112 of file ED_grease_pencil.hh.

◆ SelectSimilarMode

Enumerator
LAYER 
MATERIAL 
VERTEX_COLOR 
RADIUS 
OPACITY 

Definition at line 568 of file grease_pencil_select.cc.

◆ SeparateMode

Enumerator
SELECTED 
MATERIAL 
LAYER 

Definition at line 1829 of file grease_pencil_edit.cc.

◆ VertexColorMode

Enumerator
Stroke 
Fill 
Both 

Definition at line 26 of file grease_pencil/intern/grease_pencil_vertex_paint.cc.

Function Documentation

◆ active_grease_pencil_layer_poll()

◆ active_grease_pencil_material_poll()

bool blender::ed::greasepencil::active_grease_pencil_material_poll ( bContext * C)

◆ active_grease_pencil_poll()

◆ add_armature_automatic_weights()

◆ add_armature_envelope_weights()

◆ add_armature_vertex_groups()

bool blender::ed::greasepencil::add_armature_vertex_groups ( Object & object,
const Object & armature )

Adds vertex groups for the bones in the armature (with matching names).

Definition at line 235 of file grease_pencil_weight_paint.cc.

References BONE_NO_DEFORM, Object::data, Bone::flag, and foreach_bone_in_armature().

Referenced by blender::ed::object::parent_set().

◆ add_material_from_template()

◆ add_materials_to_map()

static Array< int > blender::ed::greasepencil::add_materials_to_map ( const GreasePencil & grease_pencil,
VectorSet< Material * > & materials )
static

◆ add_vertex_groups()

◆ append_frame_to_key_edit_data()

static void blender::ed::greasepencil::append_frame_to_key_edit_data ( KeyframeEditData * ked,
const int frame_number,
const GreasePencilFrame & frame )
static

◆ apply_color_operation_for_mode()

◆ apply_mask_as_segment_selection()

◆ apply_mask_as_selection()

◆ attributes_elements_are_equal()

template<typename T >
static bool blender::ed::greasepencil::attributes_elements_are_equal ( const VArray< T > & attributes_a,
const VArray< T > & attributes_b )
static

◆ attributes_varrays_not_equal()

static bool blender::ed::greasepencil::attributes_varrays_not_equal ( const bke::GAttributeReader & attrs_a,
const bke::GAttributeReader & attrs_b )
static

◆ attributes_varrays_span_data_equal()

static bool blender::ed::greasepencil::attributes_varrays_span_data_equal ( const bke::GAttributeReader & attrs_a,
const bke::GAttributeReader & attrs_b )
static

◆ bake_grease_pencil_animation_exec()

◆ bake_grease_pencil_animation_invoke()

static int blender::ed::greasepencil::bake_grease_pencil_animation_invoke ( bContext * C,
wmOperator * op,
const wmEvent *  )
static

◆ bake_grease_pencil_animation_poll()

◆ boundary_to_curves()

◆ brush_cursor_poll()

static bool blender::ed::greasepencil::brush_cursor_poll ( bContext * C)
static

◆ brush_radius_at_location()

static float blender::ed::greasepencil::brush_radius_at_location ( const RegionView3D * rv3d,
const ARegion * region,
const Brush * brush,
const float3 location,
const float4x4 to_world )
static

◆ build_curves_2d_bvh_from_visible()

◆ build_fill_boundary()

◆ calculate_offset()

◆ calculate_texture_space()

◆ clamp_range()

int blender::ed::greasepencil::clamp_range ( const IndexRange range,
const int index )
inline

Definition at line 41 of file grease_pencil_select.cc.

References BLI_assert.

Referenced by foreach_curve_segment().

◆ clipboard_curves()

const bke::CurvesGeometry & blender::ed::greasepencil::clipboard_curves ( )

◆ clipboard_free()

void blender::ed::greasepencil::clipboard_free ( )

◆ clipboard_materials_remap()

◆ clipboard_paste_strokes()

◆ compute_topology_change()

Array< PointTransferData > blender::ed::greasepencil::compute_topology_change ( const bke::CurvesGeometry & src,
bke::CurvesGeometry & dst,
const Span< Vector< PointTransferData > > src_to_dst_points,
const bool keep_caps )

Computes a dst curves geometry by applying a change of topology from a src curves geometry. The change of topology is described by src_to_dst_points, which size should be equal to the number of points in the source. For each point in the source, the corresponding vector in src_to_dst_points contains a set of destination points (PointTransferData), which can correspond to points of the source, or linear combination of them. Note that this vector can be empty, if we want to remove points for example. Curves can also be split if a destination point is marked as a cut.

Returns
an array containing the same elements as src_to_dst_points, but in the destination points domain.

Definition at line 1246 of file grease_pencil_utils.cc.

References compute_topology_change(), blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::curves_range(), blender::bke::CurvesGeometry::cyclic(), blender::threading::parallel_for(), blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::resize(), and blender::VArrayCommon< T >::size().

Referenced by compute_topology_change(), and blender::ed::greasepencil::trim::trim_curve_segments().

◆ control_point_colors_and_sizes()

◆ control_points_per_segment()

◆ convert_colors_to_flags()

static void blender::ed::greasepencil::convert_colors_to_flags ( ImageBufferAccessor & buffer)
static

◆ convert_flags_to_colors()

static void blender::ed::greasepencil::convert_flags_to_colors ( ImageBufferAccessor & buffer)
static

◆ copy_layer()

◆ copy_layer_group_content()

◆ copy_layer_group_recursive()

static bke::greasepencil::LayerGroup & blender::ed::greasepencil::copy_layer_group_recursive ( GreasePencil & grease_pencil_dst,
bke::greasepencil::LayerGroup & parent_dst,
const bke::greasepencil::LayerGroup & group_src,
Map< StringRefNull, StringRefNull > & layer_name_map )
static

◆ copy_layer_groups_without_layers()

static void blender::ed::greasepencil::copy_layer_groups_without_layers ( GreasePencil & dst_grease_pencil,
const LayerGroup & src_parent,
LayerGroup & dst_parent )
static

◆ create_blank()

void blender::ed::greasepencil::create_blank ( Main & bmain,
Object & object,
const int frame_number )

◆ create_curves_outline()

bke::CurvesGeometry blender::ed::greasepencil::create_curves_outline ( const bke::greasepencil::Drawing & drawing,
const IndexMask & strokes,
const float4x4 & transform,
int corner_subdivisions,
float outline_radius,
float outline_offset,
int material_index )

Create new strokes tracing the rendered outline of existing strokes.

Parameters
drawingDrawing with input strokes.
strokesSelection curves to trace.
transformTransform to apply to strokes.
corner_subdivisionsSubdivisions for corners and start/end cap.
outline_radiusRadius of the new outline strokes.
outline_offsetOffset of the outline from the original stroke.
material_indexThe material index for the new outline strokes.

is_cyclic_curve

Definition at line 682 of file grease_pencil_geom.cc.

References blender::bke::CurvesGeometry::attributes(), blender::math::average(), create_curves_outline(), GP_STROKE_CAP_ROUND, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::bke::AttributeAccessor::lookup_or_default(), blender::bke::CurvesGeometry::positions(), blender::bke::greasepencil::Drawing::radii(), blender::Span< T >::size(), blender::VArrayCommon< T >::size(), blender::bke::greasepencil::Drawing::strokes(), and blender::math::to_scale().

Referenced by create_curves_outline(), and blender::modify_drawing().

◆ create_drawing_data()

static bke::CurvesGeometry blender::ed::greasepencil::create_drawing_data ( const Span< float3 > positions,
const Span< float > radii,
const Span< float > opacities,
const Span< int > offsets,
const Span< int > materials,
const float4x4 & matrix )
static

◆ create_keyframe_edit_data_selected_frames_list()

void blender::ed::greasepencil::create_keyframe_edit_data_selected_frames_list ( KeyframeEditData * ked,
const bke::greasepencil::Layer & layer )

Definition at line 328 of file grease_pencil_frames.cc.

References append_frame_to_key_edit_data(), and BLI_assert.

◆ create_stroke()

◆ create_suzanne()

◆ curve_merge_by_distance()

int blender::ed::greasepencil::curve_merge_by_distance ( const IndexRange points,
const Span< float > distances,
const IndexMask & selection,
const float merge_distance,
MutableSpan< int > r_merge_indices )

◆ curves_geometry_is_equal()

◆ curves_merge_by_distance()

◆ curves_merge_endpoints_by_distance()

bke::CurvesGeometry blender::ed::greasepencil::curves_merge_endpoints_by_distance ( const ARegion & region,
const bke::CurvesGeometry & src_curves,
const float4x4 & layer_to_world,
const float merge_distance,
const IndexMask & selection,
const bke::AttributeFilter & attribute_filter )

◆ dilate()

◆ dist_to_interpolated()

static float blender::ed::greasepencil::dist_to_interpolated ( float3 pos,
float3 posA,
float3 posB,
float val,
float valA,
float valB )
static

◆ draw_control_points()

◆ duplicate_grease_pencil_object()

static Object * blender::ed::greasepencil::duplicate_grease_pencil_object ( Main * bmain,
Scene * scene,
ViewLayer * view_layer,
Base * base_prev,
const GreasePencil & grease_pencil_src )
static

◆ duplicate_layer_and_frames()

◆ duplicate_selected_frames()

bool blender::ed::greasepencil::duplicate_selected_frames ( GreasePencil & grease_pencil,
bke::greasepencil::Layer & layer )

Creates duplicate frames for each selected frame in the layer. The duplicates are stored in the LayerTransformData structure of the layer runtime data. This function also deselects the selected frames, while keeping the duplicates selected.

Definition at line 151 of file grease_pencil_frames.cc.

References GreasePencilFrame::drawing_index, GP_FRAME_SELECTED, and GreasePencil::runtime.

Referenced by duplicate_action_keys().

◆ editable_grease_pencil_point_selection_poll()

◆ editable_grease_pencil_poll()

◆ ensure_active_keyframe()

bool blender::ed::greasepencil::ensure_active_keyframe ( const Scene & scene,
GreasePencil & grease_pencil,
bke::greasepencil::Layer & layer,
bool duplicate_previous_key,
bool & r_inserted_keyframe )

Check for an active keyframe at the current scene time. When there is not, create one when auto-key is on (taking additive drawing setting into account).

Returns
false when no keyframe could be found or created.

Definition at line 340 of file grease_pencil_frames.cc.

References BLI_assert, GP_TOOL_FLAG_RETAIN_LAST, and blender::animrig::is_autokey_on().

Referenced by grease_pencil_draw_operator_invoke(), grease_pencil_paste_strokes_exec(), blender::ed::sculpt_paint::grease_pencil_sculpt_paint_invoke(), and blender::ed::sculpt_paint::grease_pencil_vertex_brush_stroke_invoke().

◆ ensure_grease_pencil_clipboard()

◆ ensure_valid_frame_end()

static void blender::ed::greasepencil::ensure_valid_frame_end ( Main * ,
Scene * ,
PointerRNA * ptr )
static

◆ erode()

◆ execute_trim_on_drawing()

static bool blender::ed::greasepencil::execute_trim_on_drawing ( const int layer_index,
const int frame_number,
const Object & ob_eval,
Object & obact,
const ARegion & region,
const float4x4 & projection,
const Span< int2 > mcoords,
const bool keep_caps,
bke::greasepencil::Drawing & drawing )
static

◆ expand_4x2_mat()

static float4x3 blender::ed::greasepencil::expand_4x2_mat ( float4x2 strokemat)
static

Definition at line 3218 of file grease_pencil_edit.cc.

References expand_4x2_mat().

Referenced by expand_4x2_mat(), and grease_pencil_texture_gradient_exec().

◆ extrude_grease_pencil_curves()

◆ fill_strokes()

bke::CurvesGeometry blender::ed::greasepencil::fill_strokes ( const ViewContext & view_context,
const Brush & brush,
const Scene & scene,
const bke::greasepencil::Layer & layer,
const VArray< bool > & boundary_layers,
Span< DrawingInfo > src_drawings,
bool invert,
const std::optional< float > alpha_threshold,
const float2 & fill_point,
const ExtensionData & extensions,
FillToolFitMethod fit_method,
int stroke_material_index,
bool keep_images )

Fill tool for generating strokes in empty areas.

This uses an approximate render of strokes and boundaries, then fills the image starting from the mouse position. The outlines of the filled pixel areas are returned as curves.

Parameters
layerThe layer containing the new stroke, used for reprojecting from images.
boundary_layersLayers that are purely for boundaries, regular strokes are not rendered.
src_drawingsDrawings to include as boundary strokes.
invertConstruct boundary around empty areas instead.
alpha_thresholdRender transparent stroke where opacity is below the threshold.
fill_pointPoint from which to start the bucket fill.
fit_methodView fitting method to include all strokes.
stroke_material_indexMaterial index to use for the new strokes.
keep_imagesKeep the image data block after generating curves.

Definition at line 994 of file grease_pencil_fill.cc.

References attr_material_index, blender::bke::CurvesGeometry::attributes(), BKE_id_free(), BLI_assert, BLI_SCOPED_DEFER, ViewContext::bmain, DEG_get_evaluated_object(), depsgraph, ViewContext::depsgraph, draw_boundary_color, draw_seed_color, blender::ed::greasepencil::ExtensionData::ends, BrushGpencilSettings::fill_factor, fill_strokes(), fit_strokes_to_view(), get_stroke_colors(), get_visible_boundary_strokes(), Brush::gpencil_settings, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_depth_mask(), int2, invert(), blender::IndexRange::is_empty(), blender::ed::greasepencil::ExtensionData::lines, blender::math::max(), OB_GREASE_PENCIL, ViewContext::obact, process_image(), blender::ed::greasepencil::DrawingPlacement::project(), ViewContext::region, ViewContext::rv3d, blender::math::safe_divide(), blender::IndexRange::size(), blender::ed::greasepencil::ExtensionData::starts, ViewContext::v3d, and RegionView3D::viewmat.

Referenced by fill_strokes(), and retrieve_editable_fill_strokes().

◆ find_curve_intersections()

void blender::ed::greasepencil::find_curve_intersections ( const bke::CurvesGeometry & curves,
const IndexMask & curve_mask,
const Span< float2 > screen_space_positions,
const Curves2DBVHTree & tree_data,
IndexRange tree_data_range,
MutableSpan< bool > r_hits,
std::optional< MutableSpan< float > > r_first_intersect_factors,
std::optional< MutableSpan< float > > r_last_intersect_factors )

Find intersections between curves and accurate cut positions.

Note: Index masks for target and intersecting curves can have any amount of overlap, including equal or fully separate masks. A curve can be self-intersecting by being in both masks.

Parameters
curvesCurves geometry for both target and cutter curves.
screen_space_positionsScreen space positions computed in advance.
target_curvesSet of curves that will be intersected.
intersecting_curvesSet of curves that create cuts on target curves.
r_hitsTrue for points with at least one intersection.
r_first_intersect_factorsSmallest cut factor in the interval (optional).
r_last_intersect_factorsLargest cut factor in the interval (optional).

Definition at line 1430 of file grease_pencil_geom.cc.

References BLI_bvhtree_ray_cast(), callback, blender::math::distance(), ELEM, blender::MutableSpan< T >::fill(), find_curve_intersections(), FLT_MAX, blender::index_mask::IndexMask::foreach_index(), BVHTreeRayHit::index, int, is_cyclic(), blender::math::isect_seg_seg(), length(), blender::math::normalize_and_get_length(), and blender::ed::greasepencil::Curves2DBVHTree::tree.

Referenced by find_curve_intersections(), and find_curve_segments().

◆ find_curve_segments()

CurveSegmentsData blender::ed::greasepencil::find_curve_segments ( const bke::CurvesGeometry & curves,
const IndexMask & curve_mask,
const Span< float2 > screen_space_positions,
const Curves2DBVHTree & tree_data,
IndexRange tree_data_range )

Find segments between intersections.

Note: Index masks for target and intersecting curves can have any amount of overlap, including equal or fully separate masks. A curve can be self-intersecting by being in both masks.

Parameters
curvesCurves geometry for both target and cutter curves.
curve_maskSet of curves that will be intersected.
screen_space_positionsScreen space positions computed in advance.
tree_dataScreen-space BVH tree of the intersecting curves.
r_curve_startsStart index for segments of each curve. Shift the curve points index range to ensure contiguous segments with cyclic curves.
r_segments_by_curveOffsets for segments in each curve.
r_points_by_segmentOffsets for point range of each segment. Index ranges can exceed original curve range and must be wrapped around.
r_start_factorsFactor (-1..0) previous segment to prepend.
r_end_factorsFactor (0..1) of last segment to append.

Definition at line 1546 of file grease_pencil_geom.cc.

References find_curve_intersections(), find_curve_segments(), blender::index_mask::IndexMask::foreach_index(), is_cyclic(), blender::IndexRange::is_empty(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), result, blender::ed::greasepencil::CurveSegmentsData::segment_offsets, blender::index_mask::IndexMask::size(), blender::index_mask::IndexMask::slice_content(), and blender::offset_indices::OffsetIndices< T >::total_size().

Referenced by apply_mask_as_segment_selection(), and find_curve_segments().

◆ find_lowest_common_ancestor()

◆ find_or_create_layer_in_dst_by_name()

static bke::greasepencil::Layer & blender::ed::greasepencil::find_or_create_layer_in_dst_by_name ( const int layer_index,
const GreasePencil & grease_pencil_src,
GreasePencil & grease_pencil_dst )
static

◆ fit_strokes_to_view()

static auto blender::ed::greasepencil::fit_strokes_to_view ( const ViewContext & view_context,
const VArray< bool > & boundary_layers,
const Span< DrawingInfo > src_drawings,
const FillToolFitMethod fit_method,
const float2 fill_point,
const bool uniform_zoom,
const float max_zoom_factor,
const float2 margin )
static

◆ flood_fill()

◆ foreach_bone_in_armature()

static int blender::ed::greasepencil::foreach_bone_in_armature ( Object & ob,
const bArmature & armature,
const FunctionRef< bool(Object &, const Bone *)> bone_callback )
static

◆ foreach_bone_in_armature_ex()

static int blender::ed::greasepencil::foreach_bone_in_armature_ex ( Object & ob,
const Bone * bone,
const FunctionRef< bool(Object &, const Bone *)> bone_callback )
static

◆ foreach_curve_segment()

template<typename Fn >
static int blender::ed::greasepencil::foreach_curve_segment ( const CurveSegmentsData & segment_data,
const int curve_index,
const IndexRange points,
Fn && fn )
static

Callback for each segment. Each segment can have two point ranges, one of them may be empty. Returns the total number of segments, or zero if the curve is cyclic and can be regarded as a single contiguous range.

void fn(int segment_index, IndexRange point_range1, IndexRange point_range2);

Definition at line 55 of file grease_pencil_select.cc.

References clamp_range(), blender::IndexRange::first(), blender::IndexRange::from_begin_end(), blender::IndexRange::from_begin_end_inclusive(), blender::IndexRange::last(), blender::ed::greasepencil::CurveSegmentsData::segment_offsets, blender::ed::greasepencil::CurveSegmentsData::segment_start_fractions, blender::ed::greasepencil::CurveSegmentsData::segment_start_points, and blender::IndexRange::size().

◆ frame_clean_duplicate_exec()

◆ free_curves_2d_bvh_data()

void blender::ed::greasepencil::free_curves_2d_bvh_data ( Curves2DBVHTree & data)

Definition at line 1419 of file grease_pencil_geom.cc.

References BLI_bvhtree_free(), and free_curves_2d_bvh_data().

Referenced by free_curves_2d_bvh_data().

◆ from_context()

◆ generate_arc_from_point_to_point()

static void blender::ed::greasepencil::generate_arc_from_point_to_point ( const float3 & from,
const float3 & to,
const float3 & center_pt,
const int corner_subdivisions,
const int src_point_index,
Vector< float3 > & r_perimeter,
Vector< int > & r_src_indices )
static

◆ generate_cap()

static void blender::ed::greasepencil::generate_cap ( const float3 & point,
const float3 & tangent,
const float radius,
const int corner_subdivisions,
const eGPDstroke_Caps cap_type,
const int src_point_index,
Vector< float3 > & r_perimeter,
Vector< int > & r_src_indices )
static

◆ generate_corner()

static void blender::ed::greasepencil::generate_corner ( const float3 & pt_a,
const float3 & pt_b,
const float3 & pt_c,
const float radius,
const int corner_subdivisions,
const int src_point_index,
Vector< float3 > & r_perimeter,
Vector< int > & r_src_indices )
static

◆ generate_stroke_perimeter()

static void blender::ed::greasepencil::generate_stroke_perimeter ( const Span< float3 > all_positions,
const Span< float > all_radii,
const IndexRange points,
const int corner_subdivisions,
const bool is_cyclic,
const bool use_caps,
const eGPDstroke_Caps start_cap_type,
const eGPDstroke_Caps end_cap_type,
const float outline_offset,
Vector< float3 > & r_perimeter,
Vector< int > & r_point_counts,
Vector< int > & r_point_indices )
static

◆ get_bake_targets()

◆ get_bone_deformed_vertex_group_names()

◆ get_boundary_bounds()

◆ get_control_point_type()

◆ get_editable_frames_for_layer()

◆ get_editable_material_indices()

◆ get_fill_material_indices()

◆ get_first_lineart_modifier()

GreasePencilLineartModifierData * blender::ed::greasepencil::get_first_lineart_modifier ( const Object & ob)

◆ get_flag()

static bool blender::ed::greasepencil::get_flag ( const ColorGeometry4b & color,
const ColorFlag flag )
static

Definition at line 163 of file grease_pencil_fill.cc.

References flag.

Referenced by build_fill_boundary(), dilate(), erode(), flood_fill(), and invert_fill().

◆ get_frame_id()

static std::optional< int > blender::ed::greasepencil::get_frame_id ( const bke::greasepencil::Layer & layer,
const GreasePencilFrame & frame,
const int frame_number,
const int frame_index,
const int current_frame,
const int current_frame_index,
const int last_frame,
const int last_frame_index,
const bool use_multi_frame_editing,
const bool do_onion_skinning,
const bool is_before_first,
const GreasePencilOnionSkinningSettings onion_settings )
static

◆ get_hidden_material_indices()

◆ get_lineart_modifier_limits()

◆ get_minmax_selected_frame_numbers()

static std::pair< int, int > blender::ed::greasepencil::get_minmax_selected_frame_numbers ( const GreasePencil & grease_pencil,
const int current_frame )
static

◆ get_mirrored_frame_number()

static int blender::ed::greasepencil::get_mirrored_frame_number ( const int frame_number,
const Scene & scene,
const eEditKeyframes_Mirror mode,
const TimeMarker * first_selected_marker )
static

◆ get_multi_frame_falloff()

static float blender::ed::greasepencil::get_multi_frame_falloff ( const int frame_number,
const int center_frame,
const int min_frame,
const int max_frame,
const CurveMapping * falloff_curve )
static

◆ get_points_to_dissolve()

static Array< bool > blender::ed::greasepencil::get_points_to_dissolve ( bke::CurvesGeometry & curves,
const IndexMask & mask,
const DissolveMode mode )
static

◆ get_region_bounds()

static rctf blender::ed::greasepencil::get_region_bounds ( const ARegion & region)
static

Definition at line 842 of file grease_pencil_fill.cc.

References BLI_rctf_init(), and get_region_bounds().

Referenced by fit_strokes_to_view(), and get_region_bounds().

◆ get_reordered_indices()

◆ get_root_and_tips_of_bones()

static void blender::ed::greasepencil::get_root_and_tips_of_bones ( Span< const Bone * > bones,
const float4x4 & transform,
MutableSpan< float3 > roots,
MutableSpan< float3 > tips )
static

◆ get_selected_object_keyframes()

◆ get_skinnable_bones_and_deform_group_names()

static bool blender::ed::greasepencil::get_skinnable_bones_and_deform_group_names ( const bArmature & armature,
Object & object,
Vector< const Bone * > & r_skinnable_bones,
Vector< std::string > & r_deform_group_names )
static

◆ get_snapped_frame_number()

static float blender::ed::greasepencil::get_snapped_frame_number ( const float frame_number,
Scene & scene,
const eEditKeyframes_Snap mode )
static

◆ get_sorted_layer_parents()

◆ get_stroke_colors()

static VArray< ColorGeometry4f > blender::ed::greasepencil::get_stroke_colors ( const Object & object,
const bke::CurvesGeometry & curves,
const VArray< float > & opacities,
const VArray< int > materials,
const ColorGeometry4f & tint_color,
const std::optional< float > alpha_threshold )
static

◆ get_visible_boundary_strokes()

◆ get_visible_frames_for_layer()

◆ gpencil_stroke_subdivide_exec()

◆ grease_pencil_active_frame_delete_exec()

◆ grease_pencil_caps_set_exec()

◆ grease_pencil_clean_loose_exec()

◆ grease_pencil_clean_loose_invoke()

static int blender::ed::greasepencil::grease_pencil_clean_loose_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ grease_pencil_context_poll()

◆ grease_pencil_copy_keyframes()

◆ grease_pencil_copy_strokes_exec()

◆ grease_pencil_cyclical_set_exec()

◆ grease_pencil_delete_exec()

◆ grease_pencil_delete_frame_exec()

◆ grease_pencil_dissolve_exec()

◆ grease_pencil_draw_operator_invoke()

◆ grease_pencil_duplicate_exec()

◆ grease_pencil_edit_poll()

bool blender::ed::greasepencil::grease_pencil_edit_poll ( bContext * C)

◆ grease_pencil_extrude_exec()

◆ grease_pencil_frame_duplicate_exec()

◆ grease_pencil_layer_active_exec()

◆ grease_pencil_layer_add_exec()

◆ grease_pencil_layer_add_invoke()

static int blender::ed::greasepencil::grease_pencil_layer_add_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ grease_pencil_layer_duplicate_exec()

◆ grease_pencil_layer_duplicate_object_exec()

◆ grease_pencil_layer_group_add_exec()

◆ grease_pencil_layer_group_color_tag_exec()

◆ grease_pencil_layer_group_remove_exec()

◆ grease_pencil_layer_hide_exec()

◆ grease_pencil_layer_isolate_exec()

static int blender::ed::greasepencil::grease_pencil_layer_isolate_exec ( bContext * C,
wmOperator * op )
static

◆ grease_pencil_layer_lock_all_exec()

static int blender::ed::greasepencil::grease_pencil_layer_lock_all_exec ( bContext * C,
wmOperator * op )
static

◆ grease_pencil_layer_mask_add_exec()

◆ grease_pencil_layer_mask_remove_exec()

◆ grease_pencil_layer_mask_reorder_exec()

◆ grease_pencil_layer_move_exec()

◆ grease_pencil_layer_move_poll()

static bool blender::ed::greasepencil::grease_pencil_layer_move_poll ( bContext * C)
static

◆ grease_pencil_layer_parent_clear()

void blender::ed::greasepencil::grease_pencil_layer_parent_clear ( bke::greasepencil::Layer & layer,
const bool keep_transform )

◆ grease_pencil_layer_parent_set()

bool blender::ed::greasepencil::grease_pencil_layer_parent_set ( bke::greasepencil::Layer & layer,
Object * parent,
StringRefNull bone,
const bool keep_transform )

◆ grease_pencil_layer_remove_exec()

◆ grease_pencil_layer_reorder_exec()

◆ grease_pencil_layer_reveal_exec()

static int blender::ed::greasepencil::grease_pencil_layer_reveal_exec ( bContext * C,
wmOperator *  )
static

◆ grease_pencil_material_copy_to_object_exec()

◆ grease_pencil_material_hide_exec()

◆ grease_pencil_material_lock_all_exec()

◆ grease_pencil_material_lock_unselected_exec()

◆ grease_pencil_material_lock_unused_exec()

◆ grease_pencil_material_reveal_exec()

◆ grease_pencil_material_select_exec()

◆ grease_pencil_material_unlock_all_exec()

◆ grease_pencil_merge_layer_exec()

◆ grease_pencil_move_to_layer_exec()

◆ grease_pencil_move_to_layer_invoke()

◆ GREASE_PENCIL_OT_active_frame_delete()

◆ GREASE_PENCIL_OT_bake_grease_pencil_animation()

◆ GREASE_PENCIL_OT_caps_set()

◆ GREASE_PENCIL_OT_clean_loose()

◆ GREASE_PENCIL_OT_copy()

◆ GREASE_PENCIL_OT_cyclical_set()

◆ GREASE_PENCIL_OT_delete()

◆ GREASE_PENCIL_OT_delete_frame()

◆ GREASE_PENCIL_OT_dissolve()

◆ GREASE_PENCIL_OT_duplicate()

◆ GREASE_PENCIL_OT_extrude()

◆ GREASE_PENCIL_OT_frame_clean_duplicate()

◆ GREASE_PENCIL_OT_frame_duplicate()

◆ GREASE_PENCIL_OT_insert_blank_frame()

◆ GREASE_PENCIL_OT_layer_active()

◆ GREASE_PENCIL_OT_layer_add()

◆ GREASE_PENCIL_OT_layer_duplicate()

◆ GREASE_PENCIL_OT_layer_duplicate_object()

◆ GREASE_PENCIL_OT_layer_group_add()

◆ GREASE_PENCIL_OT_layer_group_color_tag()

◆ GREASE_PENCIL_OT_layer_group_remove()

◆ GREASE_PENCIL_OT_layer_hide()

◆ GREASE_PENCIL_OT_layer_isolate()

◆ GREASE_PENCIL_OT_layer_lock_all()

◆ GREASE_PENCIL_OT_layer_mask_add()

◆ GREASE_PENCIL_OT_layer_mask_remove()

◆ GREASE_PENCIL_OT_layer_mask_reorder()

◆ GREASE_PENCIL_OT_layer_merge()

◆ GREASE_PENCIL_OT_layer_move()

◆ GREASE_PENCIL_OT_layer_remove()

◆ GREASE_PENCIL_OT_layer_reorder()

◆ GREASE_PENCIL_OT_layer_reveal()

◆ GREASE_PENCIL_OT_material_copy_to_object()

◆ GREASE_PENCIL_OT_material_hide()

◆ GREASE_PENCIL_OT_material_isolate()

◆ GREASE_PENCIL_OT_material_lock_all()

◆ GREASE_PENCIL_OT_material_lock_unselected()

◆ GREASE_PENCIL_OT_material_lock_unused()

◆ GREASE_PENCIL_OT_material_reveal()

◆ GREASE_PENCIL_OT_material_select()

◆ GREASE_PENCIL_OT_material_unlock_all()

◆ GREASE_PENCIL_OT_move_to_layer()

◆ GREASE_PENCIL_OT_paintmode_toggle()

◆ GREASE_PENCIL_OT_paste()

◆ GREASE_PENCIL_OT_primitive_arc()

◆ GREASE_PENCIL_OT_primitive_box()

◆ GREASE_PENCIL_OT_primitive_circle()

◆ GREASE_PENCIL_OT_primitive_curve()

◆ GREASE_PENCIL_OT_primitive_line()

◆ GREASE_PENCIL_OT_primitive_polyline()

◆ GREASE_PENCIL_OT_reproject()

◆ GREASE_PENCIL_OT_reset_uvs()

◆ GREASE_PENCIL_OT_sculptmode_toggle()

◆ GREASE_PENCIL_OT_select_all()

◆ GREASE_PENCIL_OT_select_alternate()

◆ GREASE_PENCIL_OT_select_ends()

◆ GREASE_PENCIL_OT_select_less()

◆ GREASE_PENCIL_OT_select_linked()

◆ GREASE_PENCIL_OT_select_more()

◆ GREASE_PENCIL_OT_select_random()

◆ GREASE_PENCIL_OT_select_similar()

◆ GREASE_PENCIL_OT_separate()

◆ GREASE_PENCIL_OT_set_active_material()

◆ GREASE_PENCIL_OT_set_curve_resolution()

◆ GREASE_PENCIL_OT_set_curve_type()

◆ GREASE_PENCIL_OT_set_handle_type()

◆ GREASE_PENCIL_OT_set_material()

◆ GREASE_PENCIL_OT_set_selection_mode()

◆ GREASE_PENCIL_OT_set_uniform_opacity()

◆ GREASE_PENCIL_OT_set_uniform_thickness()

◆ GREASE_PENCIL_OT_snap_cursor_to_selected()

◆ GREASE_PENCIL_OT_snap_to_cursor()

◆ GREASE_PENCIL_OT_snap_to_grid()

◆ GREASE_PENCIL_OT_stroke_material_set()

◆ GREASE_PENCIL_OT_stroke_merge_by_distance()

◆ GREASE_PENCIL_OT_stroke_reorder()

◆ GREASE_PENCIL_OT_stroke_reset_vertex_color()

◆ GREASE_PENCIL_OT_stroke_simplify()

◆ GREASE_PENCIL_OT_stroke_smooth()

◆ GREASE_PENCIL_OT_stroke_subdivide()

◆ GREASE_PENCIL_OT_stroke_switch_direction()

◆ GREASE_PENCIL_OT_texture_gradient()

◆ GREASE_PENCIL_OT_vertex_color_brightness_contrast()

◆ GREASE_PENCIL_OT_vertex_color_hsv()

◆ GREASE_PENCIL_OT_vertex_color_invert()

◆ GREASE_PENCIL_OT_vertex_color_levels()

◆ GREASE_PENCIL_OT_vertex_color_set()

◆ GREASE_PENCIL_OT_vertex_group_normalize()

◆ GREASE_PENCIL_OT_vertex_group_normalize_all()

◆ GREASE_PENCIL_OT_vertex_group_smooth()

◆ GREASE_PENCIL_OT_vertexmode_toggle()

◆ GREASE_PENCIL_OT_weight_invert()

◆ GREASE_PENCIL_OT_weight_sample()

◆ GREASE_PENCIL_OT_weight_toggle_direction()

◆ GREASE_PENCIL_OT_weightmode_toggle()

◆ grease_pencil_painting_poll()

◆ grease_pencil_paste_keyframes()

◆ grease_pencil_paste_strokes_exec()

◆ grease_pencil_paste_strokes_poll()

◆ grease_pencil_poll_vertex_cursor()

static bool blender::ed::greasepencil::grease_pencil_poll_vertex_cursor ( bContext * C)
static

◆ grease_pencil_poll_weight_cursor()

static bool blender::ed::greasepencil::grease_pencil_poll_weight_cursor ( bContext * C)
static

◆ grease_pencil_primitive_cancel()

◆ grease_pencil_primitive_common_props()

◆ grease_pencil_primitive_cursor_update()

◆ grease_pencil_primitive_curve_points_number()

◆ grease_pencil_primitive_drag_all_update()

◆ grease_pencil_primitive_drag_update()

◆ grease_pencil_primitive_draw()

static void blender::ed::greasepencil::grease_pencil_primitive_draw ( const bContext * ,
ARegion * ,
void * arg )
static

Definition at line 271 of file grease_pencil_primitive.cc.

References draw_control_points().

Referenced by grease_pencil_primitive_invoke().

◆ grease_pencil_primitive_event_modal_map()

◆ grease_pencil_primitive_exit()

◆ grease_pencil_primitive_extruding_update()

◆ grease_pencil_primitive_grab_update()

◆ grease_pencil_primitive_init_curves()

◆ grease_pencil_primitive_invoke()

static int blender::ed::greasepencil::grease_pencil_primitive_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

Definition at line 662 of file grease_pencil_primitive.cc.

References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::a, blender::ed::greasepencil::PrimitiveToolOperation::active_control_point_index, Brush::alpha, BKE_brush_init_gpencil_settings(), BKE_curvemapping_init(), BKE_grease_pencil_object_material_ensure_from_active_input_brush(), BKE_object_material_index_get(), BKE_paint_brush(), BLI_assert, blender::ed::greasepencil::PrimitiveToolOperation::brush, blender::ed::greasepencil::DrawingPlacement::cache_viewport_depths(), calculate_texture_space(), RenderData::cfra, blender::ed::greasepencil::PrimitiveToolOperation::control_points, control_points_per_segment(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_wm_view3d(), CTX_wm_window(), GP_Sculpt_Settings::cur_primitive, BrushGpencilSettings::curve_jitter, BrushGpencilSettings::curve_rand_hue, BrushGpencilSettings::curve_rand_pressure, BrushGpencilSettings::curve_rand_saturation, BrushGpencilSettings::curve_rand_strength, BrushGpencilSettings::curve_rand_uv, BrushGpencilSettings::curve_rand_value, BrushGpencilSettings::curve_sensitivity, BrushGpencilSettings::curve_strength, wmOperator::customdata, Object::data, blender::ed::greasepencil::PrimitiveToolOperation::draw_handle, blender::ed::greasepencil::PrimitiveToolOperation::drawing, ED_region_draw_cb_activate(), ED_view3d_navigation_init(), ED_view3d_ob_project_mat_get(), ED_view3d_viewcontext_init(), ELEM, Extruding, blender::ed::greasepencil::PrimitiveToolOperation::fill_color, blender::ed::greasepencil::PrimitiveToolOperation::fill_opacity, GP_Sculpt_Settings::flag, wmOperator::flag, GP_MATERIAL_FILL_SHOW, ToolSettings::gp_paint, ToolSettings::gp_sculpt, GP_SCULPT_SETT_FLAG_PRIMITIVE_CURVE, Brush::gpencil_settings, GPPAINT_FLAG_USE_VERTEXCOLOR, GPPAINT_MODE_BOTH, GPPAINT_MODE_FILL, GPPAINT_MODE_STROKE, grease_pencil_draw_operator_invoke(), grease_pencil_primitive_draw(), grease_pencil_primitive_init_curves(), grease_pencil_primitive_save(), grease_pencil_primitive_status_indicators(), grease_pencil_primitive_update_view(), BrushGpencilSettings::hardness, blender::ed::greasepencil::PrimitiveToolOperation::local_transform, blender::ed::greasepencil::PrimitiveToolOperation::material_index, blender::ed::greasepencil::PrimitiveToolOperation::mode, GpPaint::mode, wmEvent::mval, ViewContext::obact, OP_IS_MODAL_CURSOR_REGION, OPERATOR_RUNNING_MODAL, GpPaint::paint, blender::ed::greasepencil::PrimitiveToolOperation::placement, pos, blender::ed::greasepencil::DrawingPlacement::project(), blender::ed::greasepencil::PrimitiveToolOperation::projection, wmOperator::ptr, Scene::r, blender::ed::greasepencil::PrimitiveToolOperation::region, ViewContext::region, REGION_DRAW_POST_VIEW, Brush::rgb, RNA_enum_get(), RNA_int_get(), ViewContext::rv3d, ViewContext::scene, blender::ed::greasepencil::PrimitiveToolOperation::segments, blender::ed::greasepencil::DrawingPlacement::set_origin_to_nearest_stroke(), blender::ed::greasepencil::PrimitiveToolOperation::settings, blender::ed::greasepencil::PrimitiveToolOperation::softness, srgb_to_linearrgb_v3_v3(), blender::ed::greasepencil::PrimitiveToolOperation::start_position_2d, blender::ed::greasepencil::PrimitiveToolOperation::subdivision, blender::ed::greasepencil::PrimitiveToolOperation::texture_space, Scene::toolsettings, ARegion::type, blender::ed::greasepencil::PrimitiveToolOperation::type, blender::ed::greasepencil::PrimitiveToolOperation::use_fill, blender::ed::greasepencil::DrawingPlacement::use_project_to_nearest_stroke(), blender::ed::greasepencil::DrawingPlacement::use_project_to_surface(), blender::ed::greasepencil::PrimitiveToolOperation::vc, blender::ed::greasepencil::PrimitiveToolOperation::vertex_color, BrushGpencilSettings::vertex_factor, BrushGpencilSettings::vertex_mode, blender::ed::greasepencil::PrimitiveToolOperation::vod, WM_CURSOR_CROSS, WM_cursor_modal_set(), and WM_event_add_modal_handler().

Referenced by GREASE_PENCIL_OT_primitive_arc(), GREASE_PENCIL_OT_primitive_box(), GREASE_PENCIL_OT_primitive_circle(), GREASE_PENCIL_OT_primitive_curve(), GREASE_PENCIL_OT_primitive_line(), and GREASE_PENCIL_OT_primitive_polyline().

◆ grease_pencil_primitive_load()

◆ grease_pencil_primitive_modal()

◆ grease_pencil_primitive_mouse_event()

◆ grease_pencil_primitive_operator_update()

◆ grease_pencil_primitive_rotate_all_update()

◆ grease_pencil_primitive_save()

◆ grease_pencil_primitive_scale_all_update()

◆ grease_pencil_primitive_status_indicators()

◆ grease_pencil_primitive_undo_curves()

◆ grease_pencil_primitive_update_curves()

static void blender::ed::greasepencil::grease_pencil_primitive_update_curves ( PrimitiveToolOperation & ptd)
static

Definition at line 437 of file grease_pencil_primitive.cc.

References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_multiple(), blender::bke::attribute_filter_from_skip_ref(), BKE_curvemapping_evaluateF(), blender::ed::greasepencil::PrimitiveToolOperation::brush, GP_Sculpt_Settings::cur_primitive, blender::ed::greasepencil::PrimitiveToolOperation::drawing, blender::bke::fill_attribute_range_default(), GP_Sculpt_Settings::flag, float, blender::IndexRange::from_single(), ToolSettings::gp_sculpt, GP_SCULPT_SETT_FLAG_PRIMITIVE_CURVE, grease_pencil_primitive_curve_points_number(), blender::IndexRange::index_range(), blender::bke::greasepencil::Drawing::opacities_for_write(), opacity_from_input_sample(), blender::ed::greasepencil::PrimitiveToolOperation::placement, blender::bke::Point, point, blender::bke::CurvesGeometry::points_by_curve(), primitive_calulate_curve_positions_2d(), blender::ed::greasepencil::DrawingPlacement::project(), blender::bke::greasepencil::Drawing::radii_for_write(), radius_from_input_sample(), blender::ed::greasepencil::PrimitiveToolOperation::region, ViewContext::rv3d, ViewContext::scene, blender::bke::greasepencil::Drawing::set_texture_matrices(), blender::ed::greasepencil::PrimitiveToolOperation::settings, blender::MutableSpan< T >::slice(), blender::bke::greasepencil::Drawing::strokes_for_write(), blender::bke::greasepencil::Drawing::tag_topology_changed(), blender::ed::greasepencil::PrimitiveToolOperation::texture_space, blender::ed::greasepencil::DrawingPlacement::to_world_space(), Scene::toolsettings, blender::ed::greasepencil::PrimitiveToolOperation::vc, blender::ed::greasepencil::PrimitiveToolOperation::vertex_color, and blender::bke::greasepencil::Drawing::vertex_colors_for_write().

Referenced by grease_pencil_primitive_init_curves(), and grease_pencil_primitive_modal().

◆ grease_pencil_primitive_update_view()

◆ grease_pencil_reproject_exec()

◆ grease_pencil_reproject_ui()

static void blender::ed::greasepencil::grease_pencil_reproject_ui ( bContext * ,
wmOperator * op )
static

◆ grease_pencil_reset_uvs_exec()

◆ grease_pencil_sculpting_poll()

◆ grease_pencil_selection_poll()

bool blender::ed::greasepencil::grease_pencil_selection_poll ( bContext * C)

◆ grease_pencil_separate_exec()

◆ grease_pencil_separate_layer()

◆ grease_pencil_separate_material()

◆ grease_pencil_separate_selected()

◆ grease_pencil_set_active_material_exec()

◆ grease_pencil_set_curve_resolution_exec()

◆ grease_pencil_set_curve_type_exec()

◆ grease_pencil_set_handle_type_exec()

◆ grease_pencil_set_material_exec()

◆ grease_pencil_set_uniform_opacity_exec()

◆ grease_pencil_set_uniform_thickness_exec()

◆ grease_pencil_snap_compute_centroid()

static bool blender::ed::greasepencil::grease_pencil_snap_compute_centroid ( const Scene & scene,
const Object & object,
const GreasePencil & grease_pencil,
float3 & r_centroid,
float3 & r_min,
float3 & r_max )
static

◆ grease_pencil_snap_cursor_to_sel_exec()

◆ grease_pencil_snap_poll()

◆ grease_pencil_snap_to_cursor_exec()

◆ grease_pencil_snap_to_grid_exec()

◆ grease_pencil_stroke_material_set_exec()

◆ grease_pencil_stroke_merge_by_distance_exec()

◆ grease_pencil_stroke_reorder_exec()

◆ grease_pencil_stroke_simplify_exec()

◆ grease_pencil_stroke_smooth_exec()

◆ grease_pencil_stroke_switch_direction_exec()

◆ grease_pencil_stroke_trim()

◆ grease_pencil_texture_gradient_exec()

◆ grease_pencil_texture_gradient_invoke()

◆ grease_pencil_texture_gradient_modal()

◆ grease_pencil_vertex_group_weight_poll()

◆ grease_pencil_vertex_paint_brightness_contrast_exec()

◆ grease_pencil_vertex_paint_hsv_exec()

◆ grease_pencil_vertex_paint_invert_exec()

◆ grease_pencil_vertex_paint_levels_exec()

◆ grease_pencil_vertex_paint_reset_exec()

◆ grease_pencil_vertex_paint_set_exec()

◆ grease_pencil_vertex_painting_poll()

◆ grease_pencil_weight_invert_exec()

◆ grease_pencil_weight_painting_poll()

◆ has_any_frame_selected()

bool blender::ed::greasepencil::has_any_frame_selected ( const bke::greasepencil::Layer & layer)

Returns true if any frame of the layer is selected.

Definition at line 252 of file grease_pencil_frames.cc.

Referenced by deselect_action_keys().

◆ insert_blank_frame_exec()

◆ insert_selected_values()

template<typename T >
void blender::ed::greasepencil::insert_selected_values ( const bke::CurvesGeometry & curves,
const bke::AttrDomain domain,
const StringRef attribute_id,
blender::Set< T > & r_value_set )

Definition at line 586 of file grease_pencil_select.cc.

References insert_selected_values().

Referenced by insert_selected_values(), and select_similar_by_value().

◆ invert_fill()

static void blender::ed::greasepencil::invert_fill ( ImageBufferAccessor & buffer)
static

◆ join_curves()

◆ join_geometries_with_transform()

static bke::GeometrySet blender::ed::greasepencil::join_geometries_with_transform ( Span< bke::GeometrySet > geometries,
Span< float4x4 > transforms )
static

◆ join_object_with_active()

◆ keymap_grease_pencil_brush_stroke()

static void blender::ed::greasepencil::keymap_grease_pencil_brush_stroke ( wmKeyConfig * keyconf)
static

◆ keymap_grease_pencil_brush_stroke_poll()

◆ keymap_grease_pencil_edit_mode()

static void blender::ed::greasepencil::keymap_grease_pencil_edit_mode ( wmKeyConfig * keyconf)
static

◆ keymap_grease_pencil_fill_tool()

static void blender::ed::greasepencil::keymap_grease_pencil_fill_tool ( wmKeyConfig * keyconf)
static

◆ keymap_grease_pencil_fill_tool_poll()

◆ keymap_grease_pencil_paint_mode()

static void blender::ed::greasepencil::keymap_grease_pencil_paint_mode ( wmKeyConfig * keyconf)
static

◆ keymap_grease_pencil_sculpt_mode()

static void blender::ed::greasepencil::keymap_grease_pencil_sculpt_mode ( wmKeyConfig * keyconf)
static

◆ keymap_grease_pencil_selection()

static void blender::ed::greasepencil::keymap_grease_pencil_selection ( wmKeyConfig * keyconf)
static

◆ keymap_grease_pencil_vertex_paint_mode()

static void blender::ed::greasepencil::keymap_grease_pencil_vertex_paint_mode ( wmKeyConfig * keyconf)
static

◆ keymap_grease_pencil_weight_paint_mode()

static void blender::ed::greasepencil::keymap_grease_pencil_weight_paint_mode ( wmKeyConfig * keyconf)
static

◆ lookup_or_add_deform_group_index()

static int blender::ed::greasepencil::lookup_or_add_deform_group_index ( CurvesGeometry & curves,
const StringRef name )
static

◆ mark_borders()

◆ material_enum_itemf()

◆ material_isolate_exec()

◆ merge_layers()

void blender::ed::greasepencil::merge_layers ( const GreasePencil & src_grease_pencil,
const Span< Vector< int > > src_layer_indices_by_dst_layer,
GreasePencil & dst_grease_pencil )

Definition at line 112 of file grease_pencil_merge.cc.

References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index(), blender::Array< T, InlineBufferCapacity, Allocator >::begin(), BKE_grease_pencil_copy_layer_parameters(), BLI_assert, copy_layer_groups_without_layers(), GreasePencilFrame::drawing_index, blender::bke::greasepencil::Layer::drawing_index_at(), blender::Array< T, InlineBufferCapacity, Allocator >::end(), find_lowest_common_ancestor(), blender::Span< T >::first(), blender::Span< T >::first_index_try(), GreasePencilFrame::flag, blender::bke::greasepencil::Layer::frames(), blender::bke::greasepencil::Layer::frames_for_write(), blender::bke::greasepencil::Layer::get_frame_duration_at(), GP_FRAME_IMPLICIT_HOLD, blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of_try(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::math::invert(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::bke::greasepencil::Layer::local_transform(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::Span< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::bke::greasepencil::Layer::sorted_keys(), blender::bke::greasepencil::Layer::tag_frames_map_changed(), and GreasePencilFrame::type.

Referenced by grease_pencil_merge_layer_exec(), blender::ed::greasepencil::tests::TEST(), blender::ed::greasepencil::tests::TEST(), blender::ed::greasepencil::tests::TEST(), blender::ed::greasepencil::tests::TEST(), and blender::ed::greasepencil::tests::TEST().

◆ mirror_selected_frames()

◆ monkey_fill_offsets()

static constexpr std::array< int, 14 > blender::ed::greasepencil::monkey_fill_offsets ( { 0, 270, 303, 321, 385, 418, 482, 515, 533, 582, 615, 664, 682, 700, } )
staticconstexpr

Referenced by create_suzanne().

◆ monkey_fill_opacities()

static constexpr std::array< float, 700 > blender::ed::greasepencil::monkey_fill_opacities ( { 0.3620, 0.4070, 0.4390, 0.4580, 0.5000, 0.5160, 0.5190, 0.5300, 0.5330, 0.5340, 0.5350, 0.5350, 0.5370, 0.5370, 0.5370, 0.5350, 0.5340, 0.5340, 0.5340, 0.5340, 0.5320, 0.5310, 0.5310, 0.5320, 0.5350, 0.5400, 0.5420, 0.5430, 0.5430, 0.5460, 0.5490, 0.5490, 0.5490, 0.5490, 0.5510, 0.5530, 0.5540, 0.5540, 0.5550, 0.5560, 0.5570, 0.5570, 0.5570, 0.5570, 0.5570, 0.5580, 0.5590, 0.5590, 0.5590, 0.5480, 0.5460, 0.5470, 0.5470, 0.5480, 0.5480, 0.5490, 0.5480, 0.5490, 0.5490, 0.5580, 0.5870, 0.5950, 0.5980, 0.6030, 0.6060, 0.6070, 0.6070, 0.6110, 0.6150, 0.6210, 0.6230, 0.6260, 0.6300, 0.6320, 0.6440, 0.6570, 0.6610, 0.6640, 0.6680, 0.6710, 0.6740, 0.6780, 0.6800, 0.6800, 0.6800, 0.6810, 0.6810, 0.6830, 0.6830, 0.6850, 0.6860, 0.6940, 0.6970, 0.7000, 0.7040, 0.7100, 0.7110, 0.7130, 0.7140, 0.7140, 0.7150, 0.7160, 0.7160, 0.7170, 0.7170, 0.7180, 0.7180, 0.7180, 0.7190, 0.7190, 0.7190, 0.7190, 0.7170, 0.7170, 0.7170, 0.7180, 0.7190, 0.7190, 0.7090, 0.7040, 0.7050, 0.7130, 0.8130, 0.8150, 0.8150, 0.8160, 0.8160, 0.8160, 0.8170, 0.8170, 0.8150, 0.8070, 0.8010, 0.8000, 0.7810, 0.7800, 0.7780, 0.7770, 0.7770, 0.7770, 0.7780, 0.7760, 0.7760, 0.7740, 0.7720, 0.7730, 0.7730, 0.7720, 0.7720, 0.7660, 0.7650, 0.7650, 0.7660, 0.7650, 0.7650, 0.7610, 0.7510, 0.7440, 0.7380, 0.7310, 0.7270, 0.7230, 0.7170, 0.7080, 0.7060, 0.7050, 0.7040, 0.6980, 0.6910, 0.6850, 0.6830, 0.6760, 0.6700, 0.6630, 0.6600, 0.6590, 0.6590, 0.6570, 0.6590, 0.6590, 0.6590, 0.6570, 0.6580, 0.6570, 0.6560, 0.6420, 0.6090, 0.6080, 0.6070, 0.6060, 0.6040, 0.6060, 0.6070, 0.6070, 0.6070, 0.6060, 0.6020, 0.5850, 0.5760, 0.5640, 0.5490, 0.5430, 0.5410, 0.5380, 0.5280, 0.5280, 0.5290, 0.5280, 0.5150, 0.5140, 0.5070, 0.4940, 0.4900, 0.4910, 0.4890, 0.4910, 0.4920, 0.4920, 0.4920, 0.4920, 0.4940, 0.4940, 0.4930, 0.4920, 0.4920, 0.4910, 0.4900, 0.4900, 0.4890, 0.4890, 0.4900, 0.4890, 0.4890, 0.4900, 0.4890, 0.4890, 0.4890, 0.4880, 0.4900, 0.4970, 0.5040, 0.5100, 0.5150, 0.5220, 0.5280, 0.5320, 0.5350, 0.5400, 0.5450, 0.5490, 0.5490, 0.5520, 0.5520, 0.5530, 0.5530, 0.5530, 0.5540, 0.5550, 0.5550, 0.5570, 0.5570, 0.5580, 0.5580, 0.5580, 0.5590, 0.5580, 0.5590, 0.5580, 0.5580, 0.5590, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, } )
staticconstexpr

Referenced by create_suzanne().

◆ monkey_fill_positions()

static std::array< float3, 700 > blender::ed::greasepencil::monkey_fill_positions ( { float3(-0.4911, 0.0000, -0.1781), float3(-0.5168, 0.0000, -0.1806), float3(-0.5361, 0.0000, -0.1817), float3(-0.5618, 0.0000, -0.1829), float3(-0.5892, 0.0000, -0.1827), float3(-0.6193, 0.0000, -0.1814), float3(-0.6499, 0.0000, -0.1782), float3(-0.6808, 0.0000, -0.1729), float3(-0.7107, 0.0000, -0.1651), float3(-0.7404, 0.0000, -0.1555), float3(-0.7698, 0.0000, -0.1447), float3(-0.7993, 0.0000, -0.1332), float3(-0.8289, 0.0000, -0.1209), float3(-0.8586, 0.0000, -0.1090), float3(-0.8871, 0.0000, -0.0973), float3(-0.9125, 0.0000, -0.0838), float3(-0.9353, 0.0000, -0.0688), float3(-0.9561, 0.0000, -0.0525), float3(-0.9752, 0.0000, -0.0346), float3(-0.9944, 0.0000, -0.0160), float3(-1.0148, 0.0000, 0.0028), float3(-1.0348, 0.0000, 0.0215), float3(-1.0500, 0.0000, 0.0407), float3(-1.0639, 0.0000, 0.0613), float3(-1.0752, 0.0000, 0.0838), float3(-1.0848, 0.0000, 0.1082), float3(-1.0936, 0.0000, 0.1346), float3(-1.1024, 0.0000, 0.1639), float3(-1.1102, 0.0000, 0.1953), float3(-1.1128, 0.0000, 0.2277), float3(-1.1091, 0.0000, 0.2579), float3(-1.1023, 0.0000, 0.2849), float3(-1.0934, 0.0000, 0.3086), float3(-1.0831, 0.0000, 0.3285), float3(-1.0724, 0.0000, 0.3451), float3(-1.0607, 0.0000, 0.3594), float3(-1.0474, 0.0000, 0.3713), float3(-1.0310, 0.0000, 0.3804), float3(-1.0108, 0.0000, 0.3874), float3(-0.9862, 0.0000, 0.3922), float3(-0.9568, 0.0000, 0.3941), float3(-0.9243, 0.0000, 0.3934), float3(-0.8897, 0.0000, 0.3861), float3(-0.8556, 0.0000, 0.3754), float3(-0.8237, 0.0000, 0.3608), float3(-0.7982, 0.0000, 0.3440), float3(-0.7786, 0.0000, 0.3290), float3(-0.7633, 0.0000, 0.3183), float3(-0.7498, 0.0000, 0.3135), float3(-0.7374, 0.0000, 0.3134), float3(-0.7261, 0.0000, 0.3179), float3(-0.7146, 0.0000, 0.3262), float3(-0.7030, 0.0000, 0.3395), float3(-0.6920, 0.0000, 0.3576), float3(-0.6831, 0.0000, 0.3806), float3(-0.6748, 0.0000, 0.4052), float3(-0.6648, 0.0000, 0.4305), float3(-0.6527, 0.0000, 0.4549), float3(-0.6375, 0.0000, 0.4783), float3(-0.6195, 0.0000, 0.5021), float3(-0.5985, 0.0000, 0.5256), float3(-0.5775, 0.0000, 0.5488), float3(-0.5560, 0.0000, 0.5715), float3(-0.5339, 0.0000, 0.5930), float3(-0.5119, 0.0000, 0.6130), float3(-0.4905, 0.0000, 0.6312), float3(-0.4697, 0.0000, 0.6474), float3(-0.4499, 0.0000, 0.6613), float3(-0.4306, 0.0000, 0.6734), float3(-0.4116, 0.0000, 0.6845), float3(-0.3918, 0.0000, 0.6954), float3(-0.3709, 0.0000, 0.7059), float3(-0.3486, 0.0000, 0.7157), float3(-0.3251, 0.0000, 0.7249), float3(-0.3006, 0.0000, 0.7333), float3(-0.2755, 0.0000, 0.7414), float3(-0.2500, 0.0000, 0.7489), float3(-0.2242, 0.0000, 0.7562), float3(-0.1979, 0.0000, 0.7631), float3(-0.1710, 0.0000, 0.7695), float3(-0.1434, 0.0000, 0.7752), float3(-0.1151, 0.0000, 0.7801), float3(-0.0861, 0.0000, 0.7841), float3(-0.0563, 0.0000, 0.7869), float3(-0.0260, 0.0000, 0.7889), float3(0.0049, 0.0000, 0.7899), float3(0.0362, 0.0000, 0.7898), float3(0.0679, 0.0000, 0.7881), float3(0.0996, 0.0000, 0.7853), float3(0.1313, 0.0000, 0.7812), float3(0.1632, 0.0000, 0.7756), float3(0.1953, 0.0000, 0.7687), float3(0.2277, 0.0000, 0.7608), float3(0.2606, 0.0000, 0.7513), float3(0.2934, 0.0000, 0.7404), float3(0.3258, 0.0000, 0.7276), float3(0.3570, 0.0000, 0.7135), float3(0.3870, 0.0000, 0.6983), float3(0.4157, 0.0000, 0.6819), float3(0.4440, 0.0000, 0.6645), float3(0.4719, 0.0000, 0.6459), float3(0.4994, 0.0000, 0.6261), float3(0.5260, 0.0000, 0.6046), float3(0.5520, 0.0000, 0.5816), float3(0.5770, 0.0000, 0.5575), float3(0.6008, 0.0000, 0.5328), float3(0.6231, 0.0000, 0.5077), float3(0.6423, 0.0000, 0.4829), float3(0.6580, 0.0000, 0.4617), float3(0.6713, 0.0000, 0.4432), float3(0.6828, 0.0000, 0.4266), float3(0.6928, 0.0000, 0.4118), float3(0.7016, 0.0000, 0.3987), float3(0.7094, 0.0000, 0.3871), float3(0.7165, 0.0000, 0.3769), float3(0.7233, 0.0000, 0.3679), float3(0.7301, 0.0000, 0.3598), float3(0.7373, 0.0000, 0.3524), float3(0.7454, 0.0000, 0.3458), float3(0.7545, 0.0000, 0.3398), float3(0.7651, 0.0000, 0.3351), float3(0.7770, 0.0000, 0.3317), float3(0.7909, 0.0000, 0.3311), float3(0.8068, 0.0000, 0.3340), float3(0.8246, 0.0000, 0.3398), float3(0.8438, 0.0000, 0.3486), float3(0.8651, 0.0000, 0.3575), float3(0.8893, 0.0000, 0.3665), float3(0.9166, 0.0000, 0.3740), float3(0.9459, 0.0000, 0.3791), float3(0.9751, 0.0000, 0.3811), float3(1.0029, 0.0000, 0.3800), float3(1.0288, 0.0000, 0.3754), float3(1.0520, 0.0000, 0.3673), float3(1.0722, 0.0000, 0.3556), float3(1.0888, 0.0000, 0.3403), float3(1.1027, 0.0000, 0.3220), float3(1.1133, 0.0000, 0.3010), float3(1.1215, 0.0000, 0.2780), float3(1.1269, 0.0000, 0.2534), float3(1.1296, 0.0000, 0.2284), float3(1.1292, 0.0000, 0.2031), float3(1.1254, 0.0000, 0.1778), float3(1.1178, 0.0000, 0.1530), float3(1.1076, 0.0000, 0.1299), float3(1.0955, 0.0000, 0.1079), float3(1.0817, 0.0000, 0.0870), float3(1.0668, 0.0000, 0.0677), float3(1.0508, 0.0000, 0.0491), float3(1.0339, 0.0000, 0.0313), float3(1.0157, 0.0000, 0.0144), float3(0.9969, 0.0000, -0.0015), float3(0.9784, 0.0000, -0.0170), float3(0.9600, 0.0000, -0.0321), float3(0.9413, 0.0000, -0.0468), float3(0.9216, 0.0000, -0.0611), float3(0.9009, 0.0000, -0.0751), float3(0.8787, 0.0000, -0.0893), float3(0.8556, 0.0000, -0.1027), float3(0.8312, 0.0000, -0.1152), float3(0.8058, 0.0000, -0.1268), float3(0.7788, 0.0000, -0.1372), float3(0.7505, 0.0000, -0.1467), float3(0.7214, 0.0000, -0.1549), float3(0.6929, 0.0000, -0.1617), float3(0.6652, 0.0000, -0.1665), float3(0.6388, 0.0000, -0.1691), float3(0.6131, 0.0000, -0.1701), float3(0.5883, 0.0000, -0.1699), float3(0.5644, 0.0000, -0.1691), float3(0.5416, 0.0000, -0.1683), float3(0.5195, 0.0000, -0.1680), float3(0.4975, 0.0000, -0.1687), float3(0.4754, 0.0000, -0.1705), float3(0.4527, 0.0000, -0.1741), float3(0.4293, 0.0000, -0.1797), float3(0.4054, 0.0000, -0.1881), float3(0.3813, 0.0000, -0.1992), float3(0.3585, 0.0000, -0.2120), float3(0.3368, 0.0000, -0.2266), float3(0.3174, 0.0000, -0.2426), float3(0.2996, 0.0000, -0.2594), float3(0.2840, 0.0000, -0.2768), float3(0.2702, 0.0000, -0.2946), float3(0.2585, 0.0000, -0.3127), float3(0.2500, 0.0000, -0.3308), float3(0.2447, 0.0000, -0.3489), float3(0.2418, 0.0000, -0.3672), float3(0.2412, 0.0000, -0.3860), float3(0.2425, 0.0000, -0.4051), float3(0.2456, 0.0000, -0.4246), float3(0.2509, 0.0000, -0.4447), float3(0.2576, 0.0000, -0.4652), float3(0.2666, 0.0000, -0.4867), float3(0.2766, 0.0000, -0.5091), float3(0.2871, 0.0000, -0.5326), float3(0.2973, 0.0000, -0.5569), float3(0.3060, 0.0000, -0.5826), float3(0.3131, 0.0000, -0.6100), float3(0.3197, 0.0000, -0.6384), float3(0.3260, 0.0000, -0.6681), float3(0.3315, 0.0000, -0.6984), float3(0.3360, 0.0000, -0.7291), float3(0.3391, 0.0000, -0.7593), float3(0.3399, 0.0000, -0.7884), float3(0.3382, 0.0000, -0.8158), float3(0.3340, 0.0000, -0.8417), float3(0.3273, 0.0000, -0.8657), float3(0.3185, 0.0000, -0.8881), float3(0.3073, 0.0000, -0.9088), float3(0.2941, 0.0000, -0.9278), float3(0.2786, 0.0000, -0.9449), float3(0.2610, 0.0000, -0.9600), float3(0.2413, 0.0000, -0.9733), float3(0.2193, 0.0000, -0.9845), float3(0.1953, 0.0000, -0.9935), float3(0.1693, 0.0000, -1.0004), float3(0.1421, 0.0000, -1.0051), float3(0.1136, 0.0000, -1.0072), float3(0.0842, 0.0000, -1.0073), float3(0.0548, 0.0000, -1.0059), float3(0.0258, 0.0000, -1.0037), float3(-0.0027, 0.0000, -1.0003), float3(-0.0309, 0.0000, -0.9959), float3(-0.0584, 0.0000, -0.9904), float3(-0.0858, 0.0000, -0.9848), float3(-0.1127, 0.0000, -0.9783), float3(-0.1386, 0.0000, -0.9703), float3(-0.1649, 0.0000, -0.9604), float3(-0.1910, 0.0000, -0.9479), float3(-0.2165, 0.0000, -0.9345), float3(-0.2414, 0.0000, -0.9205), float3(-0.2654, 0.0000, -0.9055), float3(-0.2877, 0.0000, -0.8898), float3(-0.3076, 0.0000, -0.8723), float3(-0.3240, 0.0000, -0.8532), float3(-0.3367, 0.0000, -0.8316), float3(-0.3451, 0.0000, -0.8077), float3(-0.3505, 0.0000, -0.7829), float3(-0.3531, 0.0000, -0.7584), float3(-0.3528, 0.0000, -0.7349), float3(-0.3503, 0.0000, -0.7115), float3(-0.3460, 0.0000, -0.6880), float3(-0.3411, 0.0000, -0.6643), float3(-0.3361, 0.0000, -0.6403), float3(-0.3304, 0.0000, -0.6164), float3(-0.3244, 0.0000, -0.5925), float3(-0.3180, 0.0000, -0.5687), float3(-0.3124, 0.0000, -0.5441), float3(-0.3051, 0.0000, -0.5191), float3(-0.2959, 0.0000, -0.4917), float3(-0.2882, 0.0000, -0.4639), float3(-0.2814, 0.0000, -0.4363), float3(-0.2759, 0.0000, -0.4084), float3(-0.2707, 0.0000, -0.3827), float3(-0.2703, 0.0000, -0.3586), float3(-0.2772, 0.0000, -0.3375), float3(-0.2871, 0.0000, -0.3178), float3(-0.2995, 0.0000, -0.2996), float3(-0.3145, 0.0000, -0.2830), float3(-0.3320, 0.0000, -0.2672), float3(-0.3488, 0.0000, -0.2531), float3(-0.3639, 0.0000, -0.2407), float3(-0.3778, 0.0000, -0.2292), float3(-0.3909, 0.0000, -0.2191), float3(-0.4032, 0.0000, -0.2102), float3(-0.4146, 0.0000, -0.2027), float3(-0.4260, 0.0000, -0.1968), float3(-0.4348, 0.0000, -0.1931), float3(-0.4479, 0.0000, -0.1886), float3(0.5292, 0.0000, 0.1742), float3(0.5291, 0.0000, 0.1621), float3(0.5274, 0.0000, 0.1386), float3(0.5239, 0.0000, 0.1160), float3(0.5185, 0.0000, 0.0945), float3(0.5115, 0.0000, 0.0741), float3(0.5030, 0.0000, 0.0548), float3(0.4931, 0.0000, 0.0368), float3(0.4820, 0.0000, 0.0200), float3(0.4697, 0.0000, 0.0046), float3(0.4565, 0.0000, -0.0094), float3(0.4424, 0.0000, -0.0219), float3(0.4275, 0.0000, -0.0330), float3(0.4121, 0.0000, -0.0424), float3(0.3961, 0.0000, -0.0501), float3(0.3799, 0.0000, -0.0562), float3(0.3634, 0.0000, -0.0605), float3(0.3468, 0.0000, -0.0629), float3(0.3303, 0.0000, -0.0634), float3(0.3139, 0.0000, -0.0620), float3(0.2979, 0.0000, -0.0585), float3(0.2823, 0.0000, -0.0529), float3(0.2672, 0.0000, -0.0452), float3(0.2529, 0.0000, -0.0352), float3(0.2393, 0.0000, -0.0230), float3(0.2267, 0.0000, -0.0085), float3(0.2153, 0.0000, 0.0085), float3(0.2050, 0.0000, 0.0279), float3(0.1960, 0.0000, 0.0499), float3(0.1886, 0.0000, 0.0745), float3(0.1827, 0.0000, 0.1017), float3(0.1786, 0.0000, 0.1316), float3(0.1763, 0.0000, 0.1643), float3(-0.0844, 0.0000, -0.3010), float3(-0.0825, 0.0000, -0.3034), float3(-0.0751, 0.0000, -0.3128), float3(-0.0677, 0.0000, -0.3216), float3(-0.0600, 0.0000, -0.3298), float3(-0.0522, 0.0000, -0.3372), float3(-0.0440, 0.0000, -0.3437), float3(-0.0354, 0.0000, -0.3491), float3(-0.0264, 0.0000, -0.3535), float3(-0.0168, 0.0000, -0.3566), float3(-0.0065, 0.0000, -0.3583), float3(0.0045, 0.0000, -0.3585), float3(0.0163, 0.0000, -0.3571), float3(0.0290, 0.0000, -0.3540), float3(0.0427, 0.0000, -0.3491), float3(0.0574, 0.0000, -0.3421), float3(0.0732, 0.0000, -0.3331), float3(0.0816, 0.0000, -0.3278), float3(-0.6551, 0.0000, 0.4448), float3(-0.6353, 0.0000, 0.4689), float3(-0.6211, 0.0000, 0.4845), float3(-0.6033, 0.0000, 0.5034), float3(-0.5856, 0.0000, 0.5211), float3(-0.5672, 0.0000, 0.5387), float3(-0.5485, 0.0000, 0.5555), float3(-0.5295, 0.0000, 0.5718), float3(-0.5103, 0.0000, 0.5875), float3(-0.4909, 0.0000, 0.6028), float3(-0.4712, 0.0000, 0.6174), float3(-0.4512, 0.0000, 0.6313), float3(-0.4307, 0.0000, 0.6444), float3(-0.4099, 0.0000, 0.6568), float3(-0.3884, 0.0000, 0.6684), float3(-0.3665, 0.0000, 0.6793), float3(-0.3439, 0.0000, 0.6893), float3(-0.3207, 0.0000, 0.6984), float3(-0.2971, 0.0000, 0.7069), float3(-0.2731, 0.0000, 0.7148), float3(-0.2490, 0.0000, 0.7222), float3(-0.2247, 0.0000, 0.7292), float3(-0.2003, 0.0000, 0.7356), float3(-0.1759, 0.0000, 0.7416), float3(-0.1515, 0.0000, 0.7471), float3(-0.1272, 0.0000, 0.7518), float3(-0.1028, 0.0000, 0.7556), float3(-0.0785, 0.0000, 0.7586), float3(-0.0543, 0.0000, 0.7607), float3(-0.0302, 0.0000, 0.7621), float3(-0.0062, 0.0000, 0.7627), float3(0.0177, 0.0000, 0.7625), float3(0.0415, 0.0000, 0.7616), float3(0.0652, 0.0000, 0.7602), float3(0.0887, 0.0000, 0.7583), float3(0.1122, 0.0000, 0.7559), float3(0.1355, 0.0000, 0.7529), float3(0.1585, 0.0000, 0.7493), float3(0.1814, 0.0000, 0.7451), float3(0.2041, 0.0000, 0.7404), float3(0.2266, 0.0000, 0.7352), float3(0.2488, 0.0000, 0.7290), float3(0.2706, 0.0000, 0.7216), float3(0.2921, 0.0000, 0.7131), float3(0.3135, 0.0000, 0.7041), float3(0.3348, 0.0000, 0.6945), float3(0.3559, 0.0000, 0.6845), float3(0.3769, 0.0000, 0.6739), float3(0.3978, 0.0000, 0.6628), float3(0.4185, 0.0000, 0.6510), float3(0.4390, 0.0000, 0.6383), float3(0.4594, 0.0000, 0.6249), float3(0.4795, 0.0000, 0.6106), float3(0.4995, 0.0000, 0.5956), float3(0.5193, 0.0000, 0.5801), float3(0.5390, 0.0000, 0.5642), float3(0.5586, 0.0000, 0.5479), float3(0.5780, 0.0000, 0.5312), float3(0.5970, 0.0000, 0.5141), float3(0.6153, 0.0000, 0.4966), float3(0.6324, 0.0000, 0.4797), float3(0.6498, 0.0000, 0.4620), float3(0.6638, 0.0000, 0.4477), float3(0.6843, 0.0000, 0.4263), float3(-0.7765, 0.0000, 0.3255), float3(-0.7908, 0.0000, 0.3335), float3(-0.8048, 0.0000, 0.3402), float3(-0.8225, 0.0000, 0.3467), float3(-0.8426, 0.0000, 0.3529), float3(-0.8651, 0.0000, 0.3587), float3(-0.8878, 0.0000, 0.3633), float3(-0.9105, 0.0000, 0.3670), float3(-0.9323, 0.0000, 0.3693), float3(-0.9529, 0.0000, 0.3701), float3(-0.9720, 0.0000, 0.3695), float3(-0.9896, 0.0000, 0.3675), float3(-1.0057, 0.0000, 0.3640), float3(-1.0203, 0.0000, 0.3592), float3(-1.0333, 0.0000, 0.3528), float3(-1.0447, 0.0000, 0.3452), float3(-1.0546, 0.0000, 0.3362), float3(-1.0633, 0.0000, 0.3261), float3(-1.0708, 0.0000, 0.3150), float3(-1.0767, 0.0000, 0.3027), float3(-1.0818, 0.0000, 0.2894), float3(-1.0861, 0.0000, 0.2752), float3(-1.0897, 0.0000, 0.2604), float3(-1.0922, 0.0000, 0.2446), float3(-1.0938, 0.0000, 0.2277), float3(-1.0944, 0.0000, 0.2098), float3(-1.0939, 0.0000, 0.1910), float3(-1.0924, 0.0000, 0.1714), float3(-1.0897, 0.0000, 0.1511), float3(-1.0855, 0.0000, 0.1303), float3(-1.0798, 0.0000, 0.1095), float3(-1.0723, 0.0000, 0.0890), float3(-1.0642, 0.0000, 0.0702), float3(0.8135, 0.0000, 0.3341), float3(0.8191, 0.0000, 0.3376), float3(0.8246, 0.0000, 0.3408), float3(0.8304, 0.0000, 0.3438), float3(0.8368, 0.0000, 0.3465), float3(0.8430, 0.0000, 0.3491), float3(0.8494, 0.0000, 0.3515), float3(0.8558, 0.0000, 0.3536), float3(0.8623, 0.0000, 0.3557), float3(0.8688, 0.0000, 0.3575), float3(0.8752, 0.0000, 0.3593), float3(0.8813, 0.0000, 0.3609), float3(0.8872, 0.0000, 0.3625), float3(0.8929, 0.0000, 0.3640), float3(0.8984, 0.0000, 0.3653), float3(0.9039, 0.0000, 0.3665), float3(0.9093, 0.0000, 0.3675), float3(0.9146, 0.0000, 0.3684), float3(0.9199, 0.0000, 0.3692), float3(0.9253, 0.0000, 0.3698), float3(0.9305, 0.0000, 0.3703), float3(0.9358, 0.0000, 0.3706), float3(0.9410, 0.0000, 0.3709), float3(0.9462, 0.0000, 0.3710), float3(0.9514, 0.0000, 0.3710), float3(0.9566, 0.0000, 0.3708), float3(0.9617, 0.0000, 0.3706), float3(0.9668, 0.0000, 0.3702), float3(0.9718, 0.0000, 0.3697), float3(0.9768, 0.0000, 0.3692), float3(0.9818, 0.0000, 0.3685), float3(0.9867, 0.0000, 0.3677), float3(0.9916, 0.0000, 0.3667), float3(0.9964, 0.0000, 0.3657), float3(1.0012, 0.0000, 0.3646), float3(1.0060, 0.0000, 0.3634), float3(1.0107, 0.0000, 0.3621), float3(1.0154, 0.0000, 0.3607), float3(1.0200, 0.0000, 0.3593), float3(1.0245, 0.0000, 0.3577), float3(1.0290, 0.0000, 0.3561), float3(1.0335, 0.0000, 0.3543), float3(1.0379, 0.0000, 0.3525), float3(1.0422, 0.0000, 0.3507), float3(1.0465, 0.0000, 0.3487), float3(1.0507, 0.0000, 0.3468), float3(1.0549, 0.0000, 0.3447), float3(1.0591, 0.0000, 0.3427), float3(1.0633, 0.0000, 0.3404), float3(1.0675, 0.0000, 0.3380), float3(1.0717, 0.0000, 0.3351), float3(1.0761, 0.0000, 0.3318), float3(1.0805, 0.0000, 0.3279), float3(1.0849, 0.0000, 0.3235), float3(1.0893, 0.0000, 0.3186), float3(1.0936, 0.0000, 0.3134), float3(1.0979, 0.0000, 0.3076), float3(1.1020, 0.0000, 0.3017), float3(1.1060, 0.0000, 0.2953), float3(1.1097, 0.0000, 0.2890), float3(1.1132, 0.0000, 0.2826), float3(1.1164, 0.0000, 0.2766), float3(1.1193, 0.0000, 0.2708), float3(1.1221, 0.0000, 0.2652), float3(-0.2677, 0.0000, -0.3496), float3(-0.2658, 0.0000, -0.3919), float3(-0.2657, 0.0000, -0.4295), float3(-0.2691, 0.0000, -0.4621), float3(-0.2750, 0.0000, -0.4949), float3(-0.2828, 0.0000, -0.5270), float3(-0.2911, 0.0000, -0.5578), float3(-0.2971, 0.0000, -0.5884), float3(-0.3030, 0.0000, -0.6181), float3(-0.3089, 0.0000, -0.6467), float3(-0.3148, 0.0000, -0.6738), float3(-0.3196, 0.0000, -0.7000), float3(-0.3230, 0.0000, -0.7253), float3(-0.3234, 0.0000, -0.7496), float3(-0.3219, 0.0000, -0.7728), float3(-0.3184, 0.0000, -0.7949), float3(-0.3103, 0.0000, -0.8138), float3(-0.3004, 0.0000, -0.8307), float3(-0.2892, 0.0000, -0.8464), float3(-0.2766, 0.0000, -0.8611), float3(-0.2618, 0.0000, -0.8735), float3(-0.2469, 0.0000, -0.8853), float3(-0.2315, 0.0000, -0.8964), float3(-0.2158, 0.0000, -0.9068), float3(-0.1997, 0.0000, -0.9167), float3(-0.1833, 0.0000, -0.9262), float3(-0.1663, 0.0000, -0.9355), float3(-0.1481, 0.0000, -0.9445), float3(-0.1282, 0.0000, -0.9534), float3(-0.1077, 0.0000, -0.9625), float3(-0.0854, 0.0000, -0.9718), float3(-0.0616, 0.0000, -0.9813), float3(-0.0248, 0.0000, -0.9920), float3(-0.0618, 0.0000, -0.1922), float3(-0.0703, 0.0000, -0.2021), float3(-0.0758, 0.0000, -0.2103), float3(-0.0803, 0.0000, -0.2206), float3(-0.0830, 0.0000, -0.2307), float3(-0.0851, 0.0000, -0.2405), float3(-0.0865, 0.0000, -0.2499), float3(-0.0872, 0.0000, -0.2588), float3(-0.0869, 0.0000, -0.2673), float3(-0.0858, 0.0000, -0.2754), float3(-0.0831, 0.0000, -0.2829), float3(-0.0791, 0.0000, -0.2898), float3(-0.0740, 0.0000, -0.2966), float3(-0.0674, 0.0000, -0.3030), float3(-0.0591, 0.0000, -0.3084), float3(-0.0465, 0.0000, -0.3134), float3(-0.0331, 0.0000, -0.3165), float3(-0.0150, 0.0000, -0.3180), float3(0.5311, 0.0000, 0.1661), float3(0.5307, 0.0000, 0.1794), float3(0.5277, 0.0000, 0.2057), float3(0.5218, 0.0000, 0.2314), float3(0.5130, 0.0000, 0.2560), float3(0.5014, 0.0000, 0.2790), float3(0.4874, 0.0000, 0.3001), float3(0.4711, 0.0000, 0.3189), float3(0.4529, 0.0000, 0.3351), float3(0.4329, 0.0000, 0.3483), float3(0.4117, 0.0000, 0.3585), float3(0.3894, 0.0000, 0.3654), float3(0.3666, 0.0000, 0.3689), float3(0.3435, 0.0000, 0.3689), float3(0.3207, 0.0000, 0.3654), float3(0.2985, 0.0000, 0.3585), float3(0.2772, 0.0000, 0.3483), float3(0.2573, 0.0000, 0.3351), float3(0.2390, 0.0000, 0.3189), float3(0.2227, 0.0000, 0.3001), float3(0.2087, 0.0000, 0.2790), float3(0.1972, 0.0000, 0.2560), float3(0.1884, 0.0000, 0.2314), float3(0.1824, 0.0000, 0.2057), float3(0.1794, 0.0000, 0.1794), float3(0.1794, 0.0000, 0.1528), float3(0.1824, 0.0000, 0.1264), float3(0.1884, 0.0000, 0.1007), float3(0.1972, 0.0000, 0.0762), float3(0.2087, 0.0000, 0.0531), float3(0.2227, 0.0000, 0.0320), float3(0.2390, 0.0000, 0.0132), float3(0.2573, 0.0000, -0.0029), float3(0.2772, 0.0000, -0.0162), float3(0.2985, 0.0000, -0.0264), float3(0.3207, 0.0000, -0.0333), float3(0.3435, 0.0000, -0.0368), float3(0.3666, 0.0000, -0.0368), float3(0.3894, 0.0000, -0.0333), float3(0.4117, 0.0000, -0.0264), float3(0.4329, 0.0000, -0.0162), float3(0.4529, 0.0000, -0.0029), float3(0.4711, 0.0000, 0.0132), float3(0.4874, 0.0000, 0.0320), float3(0.5014, 0.0000, 0.0531), float3(0.5130, 0.0000, 0.0762), float3(0.5218, 0.0000, 0.1007), float3(0.5277, 0.0000, 0.1264), float3(0.5307, 0.0000, 0.1528), float3(-0.5271, 0.0000, 0.1742), float3(-0.5270, 0.0000, 0.1621), float3(-0.5253, 0.0000, 0.1386), float3(-0.5217, 0.0000, 0.1160), float3(-0.5164, 0.0000, 0.0945), float3(-0.5094, 0.0000, 0.0741), float3(-0.5009, 0.0000, 0.0548), float3(-0.4910, 0.0000, 0.0368), float3(-0.4799, 0.0000, 0.0200), float3(-0.4676, 0.0000, 0.0046), float3(-0.4544, 0.0000, -0.0094), float3(-0.4402, 0.0000, -0.0219), float3(-0.4254, 0.0000, -0.0330), float3(-0.4099, 0.0000, -0.0424), float3(-0.3940, 0.0000, -0.0501), float3(-0.3777, 0.0000, -0.0562), float3(-0.3612, 0.0000, -0.0605), float3(-0.3447, 0.0000, -0.0629), float3(-0.3281, 0.0000, -0.0634), float3(-0.3118, 0.0000, -0.0620), float3(-0.2957, 0.0000, -0.0585), float3(-0.2801, 0.0000, -0.0529), float3(-0.2651, 0.0000, -0.0452), float3(-0.2507, 0.0000, -0.0352), float3(-0.2372, 0.0000, -0.0230), float3(-0.2246, 0.0000, -0.0085), float3(-0.2131, 0.0000, 0.0085), float3(-0.2028, 0.0000, 0.0279), float3(-0.1939, 0.0000, 0.0499), float3(-0.1864, 0.0000, 0.0745), float3(-0.1806, 0.0000, 0.1017), float3(-0.1765, 0.0000, 0.1316), float3(-0.1742, 0.0000, 0.1643), float3(-0.1740, 0.0000, 0.1661), float3(-0.1744, 0.0000, 0.1794), float3(-0.1774, 0.0000, 0.2057), float3(-0.1833, 0.0000, 0.2314), float3(-0.1922, 0.0000, 0.2560), float3(-0.2037, 0.0000, 0.2790), float3(-0.2177, 0.0000, 0.3001), float3(-0.2340, 0.0000, 0.3189), float3(-0.2522, 0.0000, 0.3351), float3(-0.2722, 0.0000, 0.3483), float3(-0.2935, 0.0000, 0.3585), float3(-0.3157, 0.0000, 0.3654), float3(-0.3385, 0.0000, 0.3689), float3(-0.3616, 0.0000, 0.3689), float3(-0.3844, 0.0000, 0.3654), float3(-0.4066, 0.0000, 0.3585), float3(-0.4279, 0.0000, 0.3483), float3(-0.4479, 0.0000, 0.3351), float3(-0.4661, 0.0000, 0.3189), float3(-0.4824, 0.0000, 0.3001), float3(-0.4964, 0.0000, 0.2790), float3(-0.5080, 0.0000, 0.2560), float3(-0.5168, 0.0000, 0.2314), float3(-0.5227, 0.0000, 0.2057), float3(-0.5257, 0.0000, 0.1794), float3(-0.5257, 0.0000, 0.1528), float3(-0.5227, 0.0000, 0.1264), float3(-0.5168, 0.0000, 0.1007), float3(-0.5080, 0.0000, 0.0762), float3(-0.4964, 0.0000, 0.0531), float3(-0.4824, 0.0000, 0.0320), float3(-0.4661, 0.0000, 0.0132), float3(-0.4479, 0.0000, -0.0029), float3(-0.4279, 0.0000, -0.0162), float3(-0.4066, 0.0000, -0.0264), float3(-0.3844, 0.0000, -0.0333), float3(-0.3616, 0.0000, -0.0368), float3(-0.3385, 0.0000, -0.0368), float3(-0.3157, 0.0000, -0.0333), float3(-0.2935, 0.0000, -0.0264), float3(-0.2722, 0.0000, -0.0162), float3(-0.2522, 0.0000, -0.0029), float3(-0.2340, 0.0000, 0.0132), float3(-0.2177, 0.0000, 0.0320), float3(-0.2037, 0.0000, 0.0531), float3(-0.1922, 0.0000, 0.0762), float3(-0.1833, 0.0000, 0.1007), float3(-0.1774, 0.0000, 0.1264), float3(-0.1744, 0.0000, 0.1528), float3(0.9630, 0.0000, 0.1753), float3(0.9555, 0.0000, 0.1761), float3(0.9367, 0.0000, 0.1758), float3(0.9202, 0.0000, 0.1741), float3(0.9036, 0.0000, 0.1714), float3(0.8885, 0.0000, 0.1668), float3(0.8746, 0.0000, 0.1607), float3(0.8621, 0.0000, 0.1531), float3(0.8503, 0.0000, 0.1447), float3(0.8389, 0.0000, 0.1352), float3(0.8279, 0.0000, 0.1244), float3(0.8174, 0.0000, 0.1125), float3(0.8079, 0.0000, 0.0990), float3(0.7999, 0.0000, 0.0839), float3(0.7935, 0.0000, 0.0669), float3(0.7892, 0.0000, 0.0488), float3(0.7870, 0.0000, 0.0305), float3(0.7847, 0.0000, 0.0139), float3(-1.0227, 0.0000, 0.1753), float3(-1.0153, 0.0000, 0.1761), float3(-0.9964, 0.0000, 0.1758), float3(-0.9799, 0.0000, 0.1741), float3(-0.9634, 0.0000, 0.1714), float3(-0.9483, 0.0000, 0.1668), float3(-0.9344, 0.0000, 0.1607), float3(-0.9219, 0.0000, 0.1531), float3(-0.9101, 0.0000, 0.1447), float3(-0.8986, 0.0000, 0.1352), float3(-0.8876, 0.0000, 0.1244), float3(-0.8772, 0.0000, 0.1125), float3(-0.8677, 0.0000, 0.0990), float3(-0.8597, 0.0000, 0.0839), float3(-0.8533, 0.0000, 0.0669), float3(-0.8490, 0.0000, 0.0488), float3(-0.8467, 0.0000, 0.0305), float3(-0.8444, 0.0000, 0.0139), } )
static

Referenced by create_suzanne().

◆ monkey_fill_radii()

static constexpr std::array< float, 700 > blender::ed::greasepencil::monkey_fill_radii ( { 0.01001, 0.01163, 0.01425, 0.01624, 0.01766, 0.01860, 0.01916, 0.01954, 0.01976, 0.01991, 0.02002, 0.02006, 0.02010, 0.02010, 0.02010, 0.02006, 0.02002, 0.02002, 0.01999, 0.01999, 0.01995, 0.01991, 0.01991, 0.01995, 0.02006, 0.02025, 0.02033, 0.02036, 0.02036, 0.02048, 0.02059, 0.02059, 0.02059, 0.02059, 0.02066, 0.02074, 0.02078, 0.02078, 0.02081, 0.02085, 0.02089, 0.02089, 0.02089, 0.02089, 0.02093, 0.02093, 0.02089, 0.02085, 0.02078, 0.02070, 0.02066, 0.02063, 0.02059, 0.02059, 0.02059, 0.02063, 0.02070, 0.02085, 0.02111, 0.02145, 0.02183, 0.02216, 0.02239, 0.02258, 0.02269, 0.02276, 0.02284, 0.02295, 0.02310, 0.02321, 0.02336, 0.02348, 0.02363, 0.02389, 0.02423, 0.02452, 0.02471, 0.02490, 0.02501, 0.02516, 0.02528, 0.02539, 0.02543, 0.02550, 0.02550, 0.02554, 0.02558, 0.02561, 0.02569, 0.02576, 0.02588, 0.02599, 0.02614, 0.02625, 0.02640, 0.02651, 0.02659, 0.02666, 0.02670, 0.02678, 0.02681, 0.02681, 0.02685, 0.02689, 0.02693, 0.02693, 0.02693, 0.02696, 0.02696, 0.02696, 0.02696, 0.02696, 0.02693, 0.02689, 0.02689, 0.02693, 0.02689, 0.02681, 0.02674, 0.02693, 0.02745, 0.02824, 0.02903, 0.02966, 0.03008, 0.03034, 0.03045, 0.03053, 0.03053, 0.03045, 0.03038, 0.03023, 0.03000, 0.02978, 0.02955, 0.02936, 0.02929, 0.02921, 0.02918, 0.02914, 0.02914, 0.02910, 0.02906, 0.02903, 0.02903, 0.02899, 0.02895, 0.02891, 0.02888, 0.02880, 0.02876, 0.02873, 0.02869, 0.02865, 0.02854, 0.02835, 0.02816, 0.02794, 0.02771, 0.02749, 0.02730, 0.02711, 0.02693, 0.02674, 0.02659, 0.02640, 0.02625, 0.02606, 0.02591, 0.02573, 0.02554, 0.02535, 0.02516, 0.02498, 0.02486, 0.02479, 0.02475, 0.02471, 0.02468, 0.02468, 0.02468, 0.02464, 0.02460, 0.02449, 0.02423, 0.02389, 0.02355, 0.02325, 0.02303, 0.02288, 0.02280, 0.02276, 0.02273, 0.02269, 0.02261, 0.02242, 0.02216, 0.02186, 0.02153, 0.02115, 0.02081, 0.02051, 0.02029, 0.02010, 0.01995, 0.01984, 0.01969, 0.01954, 0.01935, 0.01912, 0.01894, 0.01871, 0.01856, 0.01849, 0.01841, 0.01841, 0.01841, 0.01845, 0.01845, 0.01845, 0.01849, 0.01849, 0.01849, 0.01845, 0.01841, 0.01841, 0.01838, 0.01838, 0.01834, 0.01834, 0.01834, 0.01834, 0.01834, 0.01838, 0.01838, 0.01841, 0.01845, 0.01853, 0.01864, 0.01879, 0.01894, 0.01912, 0.01931, 0.01950, 0.01969, 0.01987, 0.02006, 0.02021, 0.02033, 0.02048, 0.02055, 0.02063, 0.02066, 0.02070, 0.02074, 0.02078, 0.02078, 0.02081, 0.02085, 0.02085, 0.02089, 0.02093, 0.02093, 0.02093, 0.02096, 0.02096, 0.02096, 0.02093, 0.02093, 0.02081, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00660, 0.01806, 0.02307, 0.02598, 0.02782, 0.02896, 0.02963, 0.02995, 0.02997, 0.02974, 0.02917, 0.02815, 0.02652, 0.02394, 0.01962, 0.01080, 0.00300, 0.00300, 0.00660, 0.01080, 0.01384, 0.01619, 0.01806, 0.01962, 0.02094, 0.02208, 0.02307, 0.02394, 0.02471, 0.02538, 0.02598, 0.02652, 0.02701, 0.02743, 0.02782, 0.02815, 0.02845, 0.02873, 0.02896, 0.02917, 0.02934, 0.02950, 0.02963, 0.02974, 0.02983, 0.02989, 0.02995, 0.02997, 0.02999, 0.02999, 0.02997, 0.02995, 0.02989, 0.02983, 0.02974, 0.02963, 0.02950, 0.02934, 0.02917, 0.02896, 0.02873, 0.02845, 0.02815, 0.02782, 0.02743, 0.02701, 0.02652, 0.02598, 0.02538, 0.02471, 0.02394, 0.02307, 0.02208, 0.02094, 0.01962, 0.01806, 0.01619, 0.01384, 0.01080, 0.00660, 0.00300, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00660, 0.01080, 0.01384, 0.01619, 0.01806, 0.01962, 0.02094, 0.02208, 0.02307, 0.02394, 0.02471, 0.02538, 0.02598, 0.02652, 0.02701, 0.02743, 0.02782, 0.02815, 0.02845, 0.02873, 0.02896, 0.02917, 0.02934, 0.02950, 0.02963, 0.02974, 0.02983, 0.02989, 0.02995, 0.02997, 0.02999, 0.02999, 0.02997, 0.02995, 0.02989, 0.02983, 0.02974, 0.02963, 0.02950, 0.02934, 0.02917, 0.02896, 0.02873, 0.02845, 0.02815, 0.02782, 0.02743, 0.02701, 0.02652, 0.02598, 0.02538, 0.02471, 0.02394, 0.02307, 0.02208, 0.02094, 0.01962, 0.01806, 0.01619, 0.01384, 0.01080, 0.00660, 0.00300, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, } )
staticconstexpr

Referenced by create_suzanne().

◆ monkey_line_offsets()

static constexpr std::array< int, 16 > blender::ed::greasepencil::monkey_line_offsets ( { 0, 33, 66, 131, 165, 198, 231, 265, 298, 362, 388, 414, 447, 465, 483, 516, } )
staticconstexpr

Referenced by create_suzanne().

◆ monkey_line_opacities()

static constexpr std::array< float, 516 > blender::ed::greasepencil::monkey_line_opacities ( { 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, } )
staticconstexpr

Referenced by create_suzanne().

◆ monkey_line_positions()

static std::array< float3, 516 > blender::ed::greasepencil::monkey_line_positions ( { float3(-0.6794, 0.0000, 0.3908), float3(-0.6711, 0.0000, 0.4112), float3(-0.6513, 0.0000, 0.4509), float3(-0.6276, 0.0000, 0.4890), float3(-0.6001, 0.0000, 0.5253), float3(-0.5692, 0.0000, 0.5598), float3(-0.5350, 0.0000, 0.5924), float3(-0.4979, 0.0000, 0.6228), float3(-0.4579, 0.0000, 0.6510), float3(-0.4155, 0.0000, 0.6770), float3(-0.3707, 0.0000, 0.7005), float3(-0.3239, 0.0000, 0.7215), float3(-0.2753, 0.0000, 0.7399), float3(-0.2251, 0.0000, 0.7555), float3(-0.1736, 0.0000, 0.7683), float3(-0.1210, 0.0000, 0.7780), float3(-0.0675, 0.0000, 0.7847), float3(-0.0134, 0.0000, 0.7882), float3(0.0411, 0.0000, 0.7884), float3(0.0957, 0.0000, 0.7851), float3(0.1503, 0.0000, 0.7783), float3(0.2045, 0.0000, 0.7678), float3(0.2581, 0.0000, 0.7536), float3(0.3110, 0.0000, 0.7355), float3(0.3628, 0.0000, 0.7134), float3(0.4133, 0.0000, 0.6873), float3(0.4622, 0.0000, 0.6569), float3(0.5095, 0.0000, 0.6221), float3(0.5547, 0.0000, 0.5830), float3(0.5977, 0.0000, 0.5393), float3(0.6382, 0.0000, 0.4909), float3(0.6760, 0.0000, 0.4377), float3(0.7109, 0.0000, 0.3797), float3(-0.7544, 0.0000, 0.1799), float3(-0.7495, 0.0000, 0.1620), float3(-0.7392, 0.0000, 0.1283), float3(-0.7281, 0.0000, 0.0975), float3(-0.7161, 0.0000, 0.0693), float3(-0.7033, 0.0000, 0.0435), float3(-0.6898, 0.0000, 0.0200), float3(-0.6757, 0.0000, -0.0014), float3(-0.6609, 0.0000, -0.0208), float3(-0.6455, 0.0000, -0.0386), float3(-0.6297, 0.0000, -0.0547), float3(-0.6133, 0.0000, -0.0695), float3(-0.5966, 0.0000, -0.0830), float3(-0.5795, 0.0000, -0.0955), float3(-0.5621, 0.0000, -0.1071), float3(-0.5444, 0.0000, -0.1180), float3(-0.5265, 0.0000, -0.1284), float3(-0.5084, 0.0000, -0.1384), float3(-0.4902, 0.0000, -0.1483), float3(-0.4719, 0.0000, -0.1582), float3(-0.4537, 0.0000, -0.1682), float3(-0.4355, 0.0000, -0.1787), float3(-0.4173, 0.0000, -0.1896), float3(-0.3993, 0.0000, -0.2013), float3(-0.3815, 0.0000, -0.2138), float3(-0.3640, 0.0000, -0.2274), float3(-0.3467, 0.0000, -0.2422), float3(-0.3298, 0.0000, -0.2584), float3(-0.3133, 0.0000, -0.2762), float3(-0.2972, 0.0000, -0.2958), float3(-0.2816, 0.0000, -0.3173), float3(-0.2665, 0.0000, -0.3409), float3(-0.2521, 0.0000, -0.3668), float3(-0.2854, 0.0000, -0.4528), float3(-0.2866, 0.0000, -0.4623), float3(-0.2899, 0.0000, -0.4814), float3(-0.2943, 0.0000, -0.5008), float3(-0.2995, 0.0000, -0.5203), float3(-0.3054, 0.0000, -0.5400), float3(-0.3117, 0.0000, -0.5598), float3(-0.3182, 0.0000, -0.5797), float3(-0.3249, 0.0000, -0.5996), float3(-0.3314, 0.0000, -0.6196), float3(-0.3376, 0.0000, -0.6395), float3(-0.3432, 0.0000, -0.6594), float3(-0.3482, 0.0000, -0.6792), float3(-0.3523, 0.0000, -0.6989), float3(-0.3552, 0.0000, -0.7185), float3(-0.3569, 0.0000, -0.7379), float3(-0.3570, 0.0000, -0.7571), float3(-0.3555, 0.0000, -0.7761), float3(-0.3522, 0.0000, -0.7948), float3(-0.3467, 0.0000, -0.8132), float3(-0.3390, 0.0000, -0.8313), float3(-0.3289, 0.0000, -0.8490), float3(-0.3160, 0.0000, -0.8663), float3(-0.3004, 0.0000, -0.8831), float3(-0.2817, 0.0000, -0.8996), float3(-0.2598, 0.0000, -0.9155), float3(-0.2344, 0.0000, -0.9309), float3(-0.2051, 0.0000, -0.9457), float3(-0.1716, 0.0000, -0.9599), float3(-0.1341, 0.0000, -0.9733), float3(-0.0928, 0.0000, -0.9857), float3(-0.0500, 0.0000, -0.9962), float3(-0.0087, 0.0000, -1.0041), float3(0.0287, 0.0000, -1.0087), float3(0.0620, 0.0000, -1.0104), float3(0.0924, 0.0000, -1.0102), float3(0.1205, 0.0000, -1.0086), float3(0.1465, 0.0000, -1.0057), float3(0.1706, 0.0000, -1.0017), float3(0.1928, 0.0000, -0.9964), float3(0.2132, 0.0000, -0.9900), float3(0.2318, 0.0000, -0.9824), float3(0.2487, 0.0000, -0.9738), float3(0.2641, 0.0000, -0.9641), float3(0.2778, 0.0000, -0.9533), float3(0.2901, 0.0000, -0.9415), float3(0.3009, 0.0000, -0.9287), float3(0.3103, 0.0000, -0.9148), float3(0.3183, 0.0000, -0.8999), float3(0.3250, 0.0000, -0.8841), float3(0.3304, 0.0000, -0.8672), float3(0.3345, 0.0000, -0.8493), float3(0.3374, 0.0000, -0.8305), float3(0.3391, 0.0000, -0.8107), float3(0.3397, 0.0000, -0.7899), float3(0.3392, 0.0000, -0.7682), float3(0.3377, 0.0000, -0.7456), float3(0.3352, 0.0000, -0.7221), float3(0.3317, 0.0000, -0.6976), float3(0.3273, 0.0000, -0.6722), float3(0.3220, 0.0000, -0.6460), float3(0.3160, 0.0000, -0.6188), float3(0.3091, 0.0000, -0.5908), float3(0.3015, 0.0000, -0.5619), float3(0.2974, 0.0000, -0.5472), float3(-0.4408, 0.0000, 0.5073), float3(-0.4312, 0.0000, 0.5132), float3(-0.3945, 0.0000, 0.5319), float3(-0.3605, 0.0000, 0.5438), float3(-0.3288, 0.0000, 0.5496), float3(-0.2992, 0.0000, 0.5501), float3(-0.2712, 0.0000, 0.5460), float3(-0.2446, 0.0000, 0.5381), float3(-0.2191, 0.0000, 0.5272), float3(-0.1943, 0.0000, 0.5139), float3(-0.1699, 0.0000, 0.4992), float3(-0.1456, 0.0000, 0.4837), float3(-0.1211, 0.0000, 0.4682), float3(-0.0960, 0.0000, 0.4535), float3(-0.0700, 0.0000, 0.4404), float3(-0.0428, 0.0000, 0.4301), float3(-0.0160, 0.0000, 0.4235), float3(0.0076, 0.0000, 0.4216), float3(0.0283, 0.0000, 0.4237), float3(0.0477, 0.0000, 0.4291), float3(0.0670, 0.0000, 0.4369), float3(0.0866, 0.0000, 0.4465), float3(0.1068, 0.0000, 0.4576), float3(0.1278, 0.0000, 0.4695), float3(0.1498, 0.0000, 0.4819), float3(0.1730, 0.0000, 0.4941), float3(0.1977, 0.0000, 0.5056), float3(0.2241, 0.0000, 0.5159), float3(0.2523, 0.0000, 0.5244), float3(0.2825, 0.0000, 0.5307), float3(0.3150, 0.0000, 0.5342), float3(0.3499, 0.0000, 0.5345), float3(0.3875, 0.0000, 0.5311), float3(0.3973, 0.0000, 0.5295), float3(0.7240, 0.0000, 0.1799), float3(0.7192, 0.0000, 0.1620), float3(0.7089, 0.0000, 0.1283), float3(0.6977, 0.0000, 0.0975), float3(0.6858, 0.0000, 0.0693), float3(0.6730, 0.0000, 0.0435), float3(0.6595, 0.0000, 0.0200), float3(0.6453, 0.0000, -0.0014), float3(0.6306, 0.0000, -0.0208), float3(0.6152, 0.0000, -0.0386), float3(0.5994, 0.0000, -0.0547), float3(0.5830, 0.0000, -0.0695), float3(0.5663, 0.0000, -0.0830), float3(0.5492, 0.0000, -0.0955), float3(0.5317, 0.0000, -0.1071), float3(0.5140, 0.0000, -0.1180), float3(0.4961, 0.0000, -0.1284), float3(0.4781, 0.0000, -0.1384), float3(0.4599, 0.0000, -0.1483), float3(0.4416, 0.0000, -0.1582), float3(0.4234, 0.0000, -0.1682), float3(0.4051, 0.0000, -0.1787), float3(0.3870, 0.0000, -0.1896), float3(0.3690, 0.0000, -0.2013), float3(0.3512, 0.0000, -0.2138), float3(0.3337, 0.0000, -0.2274), float3(0.3164, 0.0000, -0.2422), float3(0.2995, 0.0000, -0.2584), float3(0.2829, 0.0000, -0.2762), float3(0.2669, 0.0000, -0.2958), float3(0.2513, 0.0000, -0.3173), float3(0.2362, 0.0000, -0.3409), float3(0.2218, 0.0000, -0.3668), float3(-0.1119, 0.0000, -0.7868), float3(-0.1087, 0.0000, -0.7905), float3(-0.1022, 0.0000, -0.7974), float3(-0.0955, 0.0000, -0.8038), float3(-0.0886, 0.0000, -0.8097), float3(-0.0816, 0.0000, -0.8152), float3(-0.0744, 0.0000, -0.8201), float3(-0.0671, 0.0000, -0.8246), float3(-0.0597, 0.0000, -0.8286), float3(-0.0522, 0.0000, -0.8321), float3(-0.0446, 0.0000, -0.8351), float3(-0.0369, 0.0000, -0.8376), float3(-0.0292, 0.0000, -0.8397), float3(-0.0214, 0.0000, -0.8413), float3(-0.0136, 0.0000, -0.8424), float3(-0.0057, 0.0000, -0.8430), float3(0.0022, 0.0000, -0.8431), float3(0.0100, 0.0000, -0.8428), float3(0.0178, 0.0000, -0.8419), float3(0.0257, 0.0000, -0.8407), float3(0.0334, 0.0000, -0.8389), float3(0.0411, 0.0000, -0.8366), float3(0.0488, 0.0000, -0.8339), float3(0.0564, 0.0000, -0.8308), float3(0.0638, 0.0000, -0.8271), float3(0.0712, 0.0000, -0.8230), float3(0.0785, 0.0000, -0.8184), float3(0.0856, 0.0000, -0.8134), float3(0.0925, 0.0000, -0.8079), float3(0.0994, 0.0000, -0.8019), float3(0.1060, 0.0000, -0.7954), float3(0.1125, 0.0000, -0.7885), float3(0.1187, 0.0000, -0.7812), float3(-0.1119, 0.0000, -0.2655), float3(-0.1101, 0.0000, -0.2605), float3(-0.1032, 0.0000, -0.2424), float3(-0.0965, 0.0000, -0.2276), float3(-0.0901, 0.0000, -0.2158), float3(-0.0837, 0.0000, -0.2069), float3(-0.0775, 0.0000, -0.2006), float3(-0.0712, 0.0000, -0.1967), float3(-0.0650, 0.0000, -0.1949), float3(-0.0587, 0.0000, -0.1950), float3(-0.0522, 0.0000, -0.1968), float3(-0.0455, 0.0000, -0.2001), float3(-0.0386, 0.0000, -0.2046), float3(-0.0315, 0.0000, -0.2100), float3(-0.0239, 0.0000, -0.2163), float3(-0.0160, 0.0000, -0.2230), float3(-0.0075, 0.0000, -0.2301), float3(-0.0002, 0.0000, -0.2342), float3(0.0054, 0.0000, -0.2340), float3(0.0106, 0.0000, -0.2324), float3(0.0155, 0.0000, -0.2297), float3(0.0202, 0.0000, -0.2261), float3(0.0249, 0.0000, -0.2219), float3(0.0296, 0.0000, -0.2174), float3(0.0344, 0.0000, -0.2128), float3(0.0394, 0.0000, -0.2084), float3(0.0448, 0.0000, -0.2044), float3(0.0506, 0.0000, -0.2012), float3(0.0570, 0.0000, -0.1988), float3(0.0640, 0.0000, -0.1977), float3(0.0717, 0.0000, -0.1980), float3(0.0804, 0.0000, -0.2001), float3(0.0899, 0.0000, -0.2042), float3(0.0925, 0.0000, -0.2055), float3(0.7993, 0.0000, 0.3242), float3(0.8169, 0.0000, 0.3354), float3(0.8512, 0.0000, 0.3542), float3(0.8840, 0.0000, 0.3686), float3(0.9153, 0.0000, 0.3787), float3(0.9450, 0.0000, 0.3848), float3(0.9729, 0.0000, 0.3871), float3(0.9989, 0.0000, 0.3857), float3(1.0229, 0.0000, 0.3811), float3(1.0447, 0.0000, 0.3732), float3(1.0643, 0.0000, 0.3624), float3(1.0814, 0.0000, 0.3490), float3(1.0960, 0.0000, 0.3330), float3(1.1080, 0.0000, 0.3147), float3(1.1172, 0.0000, 0.2944), float3(1.1235, 0.0000, 0.2723), float3(1.1267, 0.0000, 0.2485), float3(1.1269, 0.0000, 0.2233), float3(1.1237, 0.0000, 0.1970), float3(1.1172, 0.0000, 0.1697), float3(1.1071, 0.0000, 0.1417), float3(1.0934, 0.0000, 0.1131), float3(1.0759, 0.0000, 0.0842), float3(1.0545, 0.0000, 0.0553), float3(1.0291, 0.0000, 0.0265), float3(0.9995, 0.0000, -0.0019), float3(0.9657, 0.0000, -0.0298), float3(0.9275, 0.0000, -0.0569), float3(0.8847, 0.0000, -0.0829), float3(0.8373, 0.0000, -0.1077), float3(0.7852, 0.0000, -0.1311), float3(0.7281, 0.0000, -0.1528), float3(0.6661, 0.0000, -0.1725), float3(-0.7428, 0.0000, 0.2977), float3(-0.7608, 0.0000, 0.3138), float3(-0.7786, 0.0000, 0.3284), float3(-0.7962, 0.0000, 0.3414), float3(-0.8135, 0.0000, 0.3531), float3(-0.8306, 0.0000, 0.3633), float3(-0.8473, 0.0000, 0.3722), float3(-0.8637, 0.0000, 0.3798), float3(-0.8798, 0.0000, 0.3860), float3(-0.8956, 0.0000, 0.3911), float3(-0.9109, 0.0000, 0.3949), float3(-0.9259, 0.0000, 0.3975), float3(-0.9405, 0.0000, 0.3989), float3(-0.9546, 0.0000, 0.3993), float3(-0.9682, 0.0000, 0.3986), float3(-0.9814, 0.0000, 0.3969), float3(-0.9940, 0.0000, 0.3941), float3(-1.0062, 0.0000, 0.3904), float3(-1.0178, 0.0000, 0.3858), float3(-1.0288, 0.0000, 0.3803), float3(-1.0393, 0.0000, 0.3739), float3(-1.0492, 0.0000, 0.3668), float3(-1.0584, 0.0000, 0.3588), float3(-1.0670, 0.0000, 0.3501), float3(-1.0750, 0.0000, 0.3407), float3(-1.0822, 0.0000, 0.3307), float3(-1.0888, 0.0000, 0.3200), float3(-1.0946, 0.0000, 0.3087), float3(-1.0997, 0.0000, 0.2969), float3(-1.1040, 0.0000, 0.2845), float3(-1.1075, 0.0000, 0.2717), float3(-1.1103, 0.0000, 0.2584), float3(-1.1122, 0.0000, 0.2447), float3(-1.1132, 0.0000, 0.2306), float3(-1.1134, 0.0000, 0.2162), float3(-1.1128, 0.0000, 0.2015), float3(-1.1112, 0.0000, 0.1865), float3(-1.1086, 0.0000, 0.1713), float3(-1.1052, 0.0000, 0.1559), float3(-1.1007, 0.0000, 0.1404), float3(-1.0953, 0.0000, 0.1247), float3(-1.0889, 0.0000, 0.1090), float3(-1.0814, 0.0000, 0.0932), float3(-1.0729, 0.0000, 0.0774), float3(-1.0633, 0.0000, 0.0617), float3(-1.0527, 0.0000, 0.0460), float3(-1.0409, 0.0000, 0.0304), float3(-1.0280, 0.0000, 0.0150), float3(-1.0139, 0.0000, -0.0003), float3(-0.9987, 0.0000, -0.0154), float3(-0.9823, 0.0000, -0.0302), float3(-0.9646, 0.0000, -0.0447), float3(-0.9458, 0.0000, -0.0589), float3(-0.9257, 0.0000, -0.0727), float3(-0.9043, 0.0000, -0.0862), float3(-0.8816, 0.0000, -0.0992), float3(-0.8576, 0.0000, -0.1117), float3(-0.8323, 0.0000, -0.1237), float3(-0.8056, 0.0000, -0.1352), float3(-0.7775, 0.0000, -0.1461), float3(-0.7481, 0.0000, -0.1564), float3(-0.7172, 0.0000, -0.1660), float3(-0.6849, 0.0000, -0.1750), float3(-0.6512, 0.0000, -0.1832), float3(0.2721, 0.0000, 0.2084), float3(0.2721, 0.0000, 0.2112), float3(0.2739, 0.0000, 0.2223), float3(0.2778, 0.0000, 0.2324), float3(0.2836, 0.0000, 0.2409), float3(0.2910, 0.0000, 0.2471), float3(0.2994, 0.0000, 0.2507), float3(0.3082, 0.0000, 0.2515), float3(0.3169, 0.0000, 0.2493), float3(0.3248, 0.0000, 0.2443), float3(0.3315, 0.0000, 0.2369), float3(0.3364, 0.0000, 0.2275), float3(0.3392, 0.0000, 0.2168), float3(0.3398, 0.0000, 0.2056), float3(0.3381, 0.0000, 0.1945), float3(0.3342, 0.0000, 0.1844), float3(0.3283, 0.0000, 0.1760), float3(0.3210, 0.0000, 0.1697), float3(0.3126, 0.0000, 0.1661), float3(0.3038, 0.0000, 0.1653), float3(0.2951, 0.0000, 0.1675), float3(0.2871, 0.0000, 0.1725), float3(0.2805, 0.0000, 0.1799), float3(0.2756, 0.0000, 0.1893), float3(0.2727, 0.0000, 0.2000), float3(0.2721, 0.0000, 0.2056), float3(-0.3545, 0.0000, 0.2084), float3(-0.3544, 0.0000, 0.2112), float3(-0.3527, 0.0000, 0.2223), float3(-0.3488, 0.0000, 0.2324), float3(-0.3430, 0.0000, 0.2409), float3(-0.3356, 0.0000, 0.2471), float3(-0.3272, 0.0000, 0.2507), float3(-0.3184, 0.0000, 0.2515), float3(-0.3097, 0.0000, 0.2493), float3(-0.3018, 0.0000, 0.2443), float3(-0.2951, 0.0000, 0.2369), float3(-0.2902, 0.0000, 0.2275), float3(-0.2874, 0.0000, 0.2168), float3(-0.2868, 0.0000, 0.2056), float3(-0.2885, 0.0000, 0.1945), float3(-0.2924, 0.0000, 0.1844), float3(-0.2983, 0.0000, 0.1760), float3(-0.3056, 0.0000, 0.1697), float3(-0.3140, 0.0000, 0.1661), float3(-0.3228, 0.0000, 0.1653), float3(-0.3315, 0.0000, 0.1675), float3(-0.3394, 0.0000, 0.1725), float3(-0.3461, 0.0000, 0.1799), float3(-0.3510, 0.0000, 0.1893), float3(-0.3539, 0.0000, 0.2000), float3(-0.3544, 0.0000, 0.2056), float3(0.1904, 0.0000, 0.0983), float3(0.1997, 0.0000, 0.0774), float3(0.2234, 0.0000, 0.0407), float3(0.2477, 0.0000, 0.0158), float3(0.2767, 0.0000, -0.0047), float3(0.3061, 0.0000, -0.0179), float3(0.3346, 0.0000, -0.0247), float3(0.3620, 0.0000, -0.0262), float3(0.3881, 0.0000, -0.0231), float3(0.4128, 0.0000, -0.0159), float3(0.4360, 0.0000, -0.0049), float3(0.4577, 0.0000, 0.0099), float3(0.4778, 0.0000, 0.0289), float3(0.4959, 0.0000, 0.0524), float3(0.5114, 0.0000, 0.0806), float3(0.5229, 0.0000, 0.1134), float3(0.5291, 0.0000, 0.1498), float3(0.5289, 0.0000, 0.1884), float3(0.5219, 0.0000, 0.2267), float3(0.5087, 0.0000, 0.2616), float3(0.4907, 0.0000, 0.2916), float3(0.4697, 0.0000, 0.3159), float3(0.4465, 0.0000, 0.3349), float3(0.4220, 0.0000, 0.3489), float3(0.3964, 0.0000, 0.3582), float3(0.3705, 0.0000, 0.3628), float3(0.3436, 0.0000, 0.3630), float3(0.3166, 0.0000, 0.3586), float3(0.2897, 0.0000, 0.3491), float3(0.2635, 0.0000, 0.3344), float3(0.2382, 0.0000, 0.3137), float3(0.2162, 0.0000, 0.2882), float3(0.1949, 0.0000, 0.2516), float3(-1.0361, 0.0000, 0.1745), float3(-1.0319, 0.0000, 0.1770), float3(-1.0153, 0.0000, 0.1852), float3(-0.9990, 0.0000, 0.1907), float3(-0.9830, 0.0000, 0.1936), float3(-0.9673, 0.0000, 0.1941), float3(-0.9522, 0.0000, 0.1923), float3(-0.9376, 0.0000, 0.1885), float3(-0.9236, 0.0000, 0.1827), float3(-0.9103, 0.0000, 0.1752), float3(-0.8978, 0.0000, 0.1662), float3(-0.8862, 0.0000, 0.1558), float3(-0.8756, 0.0000, 0.1441), float3(-0.8660, 0.0000, 0.1314), float3(-0.8575, 0.0000, 0.1179), float3(-0.8501, 0.0000, 0.1036), float3(-0.8441, 0.0000, 0.0889), float3(-0.8416, 0.0000, 0.0813), float3(0.9747, 0.0000, 0.1745), float3(0.9706, 0.0000, 0.1770), float3(0.9540, 0.0000, 0.1852), float3(0.9377, 0.0000, 0.1907), float3(0.9216, 0.0000, 0.1936), float3(0.9060, 0.0000, 0.1941), float3(0.8908, 0.0000, 0.1923), float3(0.8762, 0.0000, 0.1885), float3(0.8622, 0.0000, 0.1827), float3(0.8490, 0.0000, 0.1752), float3(0.8365, 0.0000, 0.1662), float3(0.8249, 0.0000, 0.1558), float3(0.8143, 0.0000, 0.1441), float3(0.8046, 0.0000, 0.1314), float3(0.7961, 0.0000, 0.1179), float3(0.7888, 0.0000, 0.1036), float3(0.7828, 0.0000, 0.0889), float3(0.7802, 0.0000, 0.0813), float3(-0.1860, 0.0000, 0.0983), float3(-0.1954, 0.0000, 0.0774), float3(-0.2191, 0.0000, 0.0407), float3(-0.2434, 0.0000, 0.0158), float3(-0.2723, 0.0000, -0.0047), float3(-0.3017, 0.0000, -0.0179), float3(-0.3302, 0.0000, -0.0247), float3(-0.3576, 0.0000, -0.0262), float3(-0.3837, 0.0000, -0.0231), float3(-0.4085, 0.0000, -0.0159), float3(-0.4317, 0.0000, -0.0049), float3(-0.4533, 0.0000, 0.0099), float3(-0.4734, 0.0000, 0.0289), float3(-0.4916, 0.0000, 0.0524), float3(-0.5070, 0.0000, 0.0806), float3(-0.5185, 0.0000, 0.1134), float3(-0.5247, 0.0000, 0.1498), float3(-0.5246, 0.0000, 0.1884), float3(-0.5175, 0.0000, 0.2267), float3(-0.5043, 0.0000, 0.2616), float3(-0.4864, 0.0000, 0.2916), float3(-0.4653, 0.0000, 0.3159), float3(-0.4422, 0.0000, 0.3349), float3(-0.4177, 0.0000, 0.3489), float3(-0.3921, 0.0000, 0.3582), float3(-0.3661, 0.0000, 0.3628), float3(-0.3392, 0.0000, 0.3630), float3(-0.3123, 0.0000, 0.3586), float3(-0.2853, 0.0000, 0.3491), float3(-0.2591, 0.0000, 0.3344), float3(-0.2339, 0.0000, 0.3137), float3(-0.2118, 0.0000, 0.2882), float3(-0.1906, 0.0000, 0.2516), } )
static

Referenced by create_suzanne().

◆ monkey_line_radii()

static constexpr std::array< float, 516 > blender::ed::greasepencil::monkey_line_radii ( { 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00386, 0.00889, 0.01244, 0.01508, 0.01717, 0.01887, 0.02030, 0.02153, 0.02259, 0.02351, 0.02433, 0.02505, 0.02569, 0.02627, 0.02677, 0.02722, 0.02763, 0.02799, 0.02832, 0.02859, 0.02885, 0.02906, 0.02926, 0.02942, 0.02957, 0.02968, 0.02979, 0.02986, 0.02992, 0.02996, 0.02998, 0.03000, 0.02998, 0.02996, 0.02992, 0.02986, 0.02979, 0.02968, 0.02957, 0.02942, 0.02926, 0.02906, 0.02885, 0.02859, 0.02832, 0.02799, 0.02763, 0.02722, 0.02677, 0.02627, 0.02569, 0.02505, 0.02433, 0.02351, 0.02259, 0.02153, 0.02030, 0.01887, 0.01717, 0.01508, 0.01244, 0.00889, 0.00386, 0.00300, 0.00300, 0.00386, 0.01244, 0.01717, 0.02030, 0.02259, 0.02433, 0.02569, 0.02677, 0.02763, 0.02832, 0.02885, 0.02926, 0.02957, 0.02979, 0.02992, 0.02998, 0.02998, 0.02992, 0.02979, 0.02957, 0.02926, 0.02885, 0.02832, 0.02763, 0.02677, 0.02569, 0.02433, 0.02259, 0.02030, 0.01717, 0.01244, 0.00386, 0.00300, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00200, 0.00440, 0.00923, 0.01204, 0.01396, 0.01538, 0.01647, 0.01732, 0.01801, 0.01854, 0.01897, 0.01931, 0.01956, 0.01975, 0.01988, 0.01997, 0.01999, 0.01998, 0.01993, 0.01982, 0.01967, 0.01945, 0.01915, 0.01877, 0.01829, 0.01768, 0.01692, 0.01596, 0.01472, 0.01308, 0.01079, 0.00720, 0.00200, 0.00200, 0.00258, 0.00829, 0.01145, 0.01354, 0.01506, 0.01622, 0.01713, 0.01784, 0.01842, 0.01888, 0.01923, 0.01951, 0.01972, 0.01986, 0.01995, 0.01999, 0.01999, 0.01995, 0.01986, 0.01972, 0.01951, 0.01923, 0.01888, 0.01842, 0.01784, 0.01713, 0.01622, 0.01506, 0.01354, 0.01145, 0.00829, 0.00258, 0.00200, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00300, 0.00660, 0.01080, 0.01384, 0.01619, 0.01806, 0.01962, 0.02094, 0.02208, 0.02307, 0.02394, 0.02471, 0.02538, 0.02598, 0.02652, 0.02701, 0.02743, 0.02782, 0.02815, 0.02845, 0.02873, 0.02896, 0.02917, 0.02934, 0.02950, 0.02963, 0.02974, 0.02983, 0.02989, 0.02995, 0.02997, 0.02999, 0.02999, 0.02997, 0.02995, 0.02989, 0.02983, 0.02974, 0.02963, 0.02950, 0.02934, 0.02917, 0.02896, 0.02873, 0.02845, 0.02815, 0.02782, 0.02743, 0.02701, 0.02652, 0.02598, 0.02538, 0.02471, 0.02394, 0.02307, 0.02208, 0.02094, 0.01962, 0.01806, 0.01619, 0.01384, 0.01080, 0.00660, 0.00300, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.03000, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, 0.00200, 0.00440, 0.01204, 0.01538, 0.01732, 0.01854, 0.01931, 0.01975, 0.01997, 0.01998, 0.01982, 0.01945, 0.01877, 0.01768, 0.01596, 0.01308, 0.00720, 0.00200, 0.00300, 0.00660, 0.01384, 0.01806, 0.02094, 0.02307, 0.02471, 0.02598, 0.02701, 0.02782, 0.02845, 0.02896, 0.02934, 0.02963, 0.02983, 0.02995, 0.02999, 0.02997, 0.02989, 0.02974, 0.02950, 0.02917, 0.02873, 0.02815, 0.02743, 0.02652, 0.02538, 0.02394, 0.02208, 0.01962, 0.01619, 0.01080, 0.00300, } )
staticconstexpr

Referenced by create_suzanne().

◆ normalize_vertex_weights()

void blender::ed::greasepencil::normalize_vertex_weights ( MDeformVert & dvert,
int active_vertex_group,
Span< bool > vertex_group_is_locked,
Span< bool > vertex_group_is_bone_deformed )

For a point in a stroke, normalize the weights of vertex groups deformed by bones so that the sum is 1.0f.

Definition at line 180 of file grease_pencil_weight_paint.cc.

References normalize_vertex_weights_try(), and blender::Span< T >::size().

◆ normalize_vertex_weights_try()

static bool blender::ed::greasepencil::normalize_vertex_weights_try ( MDeformVert & dvert,
const int vertex_groups_num,
const Span< bool > vertex_group_is_bone_deformed,
const FunctionRef< bool(int)> vertex_group_is_locked )
static

◆ opacity_from_input_sample()

float blender::ed::greasepencil::opacity_from_input_sample ( const float pressure,
const Brush * brush,
const BrushGpencilSettings * settings )

◆ paintmode_toggle_exec()

◆ paintmode_toggle_poll()

static bool blender::ed::greasepencil::paintmode_toggle_poll ( bContext * C)
static

◆ pixel_radius_to_world_space_radius()

static float blender::ed::greasepencil::pixel_radius_to_world_space_radius ( const RegionView3D * rv3d,
const ARegion * region,
const float3 center,
const float4x4 to_world,
const float pixel_radius )
static

◆ polyline_detect_corners()

IndexMask blender::ed::greasepencil::polyline_detect_corners ( Span< float2 > points,
const float radius_min,
const float radius_max,
const int samples_max,
const float angle_threshold,
IndexMaskMemory & memory )

◆ polyline_fit_curve()

Array< float2 > blender::ed::greasepencil::polyline_fit_curve ( Span< float2 > points,
const float error_threshold,
const IndexMask & corner_mask )

◆ primitive_calulate_curve_positions()

◆ primitive_calulate_curve_positions_2d()

static void blender::ed::greasepencil::primitive_calulate_curve_positions_2d ( PrimitiveToolOperation & ptd,
MutableSpan< float2 > new_positions )
static

◆ primitive_center_of_mass()

◆ primitive_check_ui_hover()

◆ primitive_local_to_screen()

◆ process_image()

static bke::CurvesGeometry blender::ed::greasepencil::process_image ( Image & ima,
const Scene & scene,
const ViewContext & view_context,
const Brush & brush,
const ed::greasepencil::DrawingPlacement & placement,
const int stroke_material_index,
const float stroke_hardness,
const bool invert,
const bool output_as_colors )
static

◆ radius_from_input_sample()

float blender::ed::greasepencil::radius_from_input_sample ( const RegionView3D * rv3d,
const ARegion * region,
const Brush * brush,
const float pressure,
const float3 location,
const float4x4 to_world,
const BrushGpencilSettings * settings )

◆ ramer_douglas_peucker_simplify()

int64_t blender::ed::greasepencil::ramer_douglas_peucker_simplify ( IndexRange range,
float epsilon,
FunctionRef< float(int64_t, int64_t, int64_t)> dist_function,
MutableSpan< bool > points_to_delete )

An implementation of the Ramer-Douglas-Peucker algorithm.

Parameters
rangeThe range to simplify.
epsilonThe threshold distance from the coord between two points for when a point in-between needs to be kept.
dist_functionA function that computes the distance to a point at an index in the range. The IndexRange is a subrange of range and the index is an index relative to the subrange.
points_to_deleteWrites true to the indices for which the points should be removed.
Returns
the total number of points to remove.

Definition at line 41 of file grease_pencil_geom.cc.

References blender::IndexRange::drop_back(), blender::IndexRange::drop_front(), blender::MutableSpan< T >::fill(), blender::IndexRange::first(), blender::Stack< T, InlineBufferCapacity, Allocator >::is_empty(), blender::IndexRange::last(), blender::Stack< T, InlineBufferCapacity, Allocator >::pop(), blender::Stack< T, InlineBufferCapacity, Allocator >::push(), blender::IndexRange::size(), blender::IndexRange::slice(), and blender::MutableSpan< T >::slice().

◆ remap_material_indices()

static void blender::ed::greasepencil::remap_material_indices ( bke::greasepencil::Drawing & drawing,
const Span< int > material_index_map )
static

◆ remap_vertex_groups()

◆ remove_all_selected_frames()

bool blender::ed::greasepencil::remove_all_selected_frames ( GreasePencil & grease_pencil,
bke::greasepencil::Layer & layer )

◆ remove_points_and_split()

◆ remove_unused_materials()

static void blender::ed::greasepencil::remove_unused_materials ( Main * bmain,
Object * object )
static

◆ retrieve_editable_and_selected_elements()

◆ retrieve_editable_and_selected_fill_strokes()

◆ retrieve_editable_and_selected_points()

◆ retrieve_editable_and_selected_strokes()

◆ retrieve_editable_drawings()

Vector< MutableDrawingInfo > blender::ed::greasepencil::retrieve_editable_drawings ( const Scene & scene,
GreasePencil & grease_pencil )

Definition at line 607 of file grease_pencil_utils.cc.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), get_editable_frames_for_layer(), GP_USE_MULTI_FRAME_EDITING, ToolSettings::gpencil_flags, and retrieve_editable_drawings().

Referenced by add_armature_automatic_weights(), add_armature_envelope_weights(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), gizmo_3d_foreach_selected(), gpencil_stroke_subdivide_exec(), grease_pencil_caps_set_exec(), grease_pencil_clean_loose_exec(), grease_pencil_copy_strokes_exec(), grease_pencil_cyclical_set_exec(), grease_pencil_delete_exec(), grease_pencil_dissolve_exec(), grease_pencil_duplicate_exec(), grease_pencil_extrude_exec(), grease_pencil_material_lock_unselected_exec(), grease_pencil_material_select_exec(), grease_pencil_move_to_layer_exec(), grease_pencil_paste_strokes_exec(), grease_pencil_reproject_exec(), grease_pencil_reset_uvs_exec(), grease_pencil_separate_exec(), grease_pencil_separate_material(), grease_pencil_separate_selected(), grease_pencil_set_active_material_exec(), grease_pencil_set_curve_resolution_exec(), grease_pencil_set_curve_type_exec(), grease_pencil_set_handle_type_exec(), grease_pencil_set_uniform_opacity_exec(), grease_pencil_set_uniform_thickness_exec(), grease_pencil_snap_to_cursor_exec(), grease_pencil_snap_to_grid_exec(), grease_pencil_stroke_material_set_exec(), grease_pencil_stroke_merge_by_distance_exec(), grease_pencil_stroke_reorder_exec(), grease_pencil_stroke_simplify_exec(), grease_pencil_stroke_smooth_exec(), grease_pencil_stroke_switch_direction_exec(), grease_pencil_texture_gradient_exec(), grease_pencil_vertex_paint_brightness_contrast_exec(), grease_pencil_vertex_paint_hsv_exec(), grease_pencil_vertex_paint_invert_exec(), grease_pencil_vertex_paint_levels_exec(), grease_pencil_vertex_paint_reset_exec(), grease_pencil_vertex_paint_set_exec(), blender::ed::sculpt_paint::grease_pencil_weight_brush_stroke_invoke(), grease_pencil_weight_invert_exec(), blender::ed::sculpt_paint::greasepencil::TintOperation::on_stroke_begin(), blender::ed::transform::greasepencil::recalcData_grease_pencil(), retrieve_editable_drawings(), select_all_exec(), select_alternate_exec(), select_linked_exec(), select_similar_by_layer(), select_similar_by_value(), select_similar_exec(), vertex_group_normalize_all_exec(), and vertex_group_smooth_exec().

◆ retrieve_editable_drawings_from_layer()

◆ retrieve_editable_drawings_from_layer_with_falloff()

◆ retrieve_editable_drawings_grouped_per_frame()

◆ retrieve_editable_drawings_with_falloff()

◆ retrieve_editable_elements()

◆ retrieve_editable_fill_strokes()

◆ retrieve_editable_points()

◆ retrieve_editable_strokes()

◆ retrieve_editable_strokes_by_material()

◆ retrieve_visible_bezier_handle_elements()

IndexMask blender::ed::greasepencil::retrieve_visible_bezier_handle_elements ( Object & object,
const bke::greasepencil::Drawing & drawing,
const int layer_index,
const bke::AttrDomain selection_domain,
IndexMaskMemory & memory )

◆ retrieve_visible_bezier_handle_points()

◆ retrieve_visible_drawings()

◆ retrieve_visible_points()

◆ retrieve_visible_strokes()

◆ sculpt_poll_view3d()

static bool blender::ed::greasepencil::sculpt_poll_view3d ( bContext * C)
static

◆ sculptmode_toggle_exec()

◆ sculptmode_toggle_poll()

static bool blender::ed::greasepencil::sculptmode_toggle_poll ( bContext * C)
static

◆ select_all_exec()

◆ select_all_frames()

void blender::ed::greasepencil::select_all_frames ( bke::greasepencil::Layer & layer,
const short select_mode )

Definition at line 244 of file grease_pencil_frames.cc.

References select_frame().

Referenced by actkeys_mselect_channel_only(), and deselect_action_keys().

◆ select_alternate_exec()

◆ select_ends_exec()

◆ select_frame()

static void blender::ed::greasepencil::select_frame ( GreasePencilFrame & frame,
const short select_mode )
static

◆ select_frame_at()

bool blender::ed::greasepencil::select_frame_at ( bke::greasepencil::Layer & layer,
const int frame_number,
const short select_mode )

Sets the selection flag, according to selection_mode to the frame at frame_number in the layer if such frame exists. Returns false if no such frame exists.

Definition at line 215 of file grease_pencil_frames.cc.

References select_frame().

Referenced by actkeys_mselect_column(), actkeys_mselect_single(), columnselect_action_keys(), and select_frames_at().

◆ select_frames_at()

void blender::ed::greasepencil::select_frames_at ( bke::greasepencil::LayerGroup & layer_group,
const int frame_number,
const short select_mode )

◆ select_frames_range()

void blender::ed::greasepencil::select_frames_range ( bke::greasepencil::TreeNode & node,
const float min,
const float max,
const short select_mode )

◆ select_frames_region()

◆ select_layer_channel()

void blender::ed::greasepencil::select_layer_channel ( GreasePencil & grease_pencil,
bke::greasepencil::Layer * layer )

Definition at line 73 of file grease_pencil_layers.cc.

References NA_EDITED, NC_GPENCIL, ND_DATA, and WM_main_add_notifier().

Referenced by mouse_action_keys().

◆ select_less_exec()

◆ select_linked_exec()

◆ select_more_exec()

◆ select_random_exec()

◆ select_set_mode_exec()

◆ select_similar_by_layer()

◆ select_similar_by_value()

template<typename T , typename DistanceFn >
static void blender::ed::greasepencil::select_similar_by_value ( Scene * scene,
Object * object,
GreasePencil & grease_pencil,
const bke::AttrDomain domain,
const StringRef attribute_id,
float threshold,
DistanceFn distance_fn )
static

◆ select_similar_exec()

◆ selection_update()

◆ set_flag()

static void blender::ed::greasepencil::set_flag ( ColorGeometry4b & color,
const ColorFlag flag,
bool value )
static

Definition at line 168 of file grease_pencil_fill.cc.

References flag.

Referenced by dilate(), erode(), flood_fill(), invert_fill(), and mark_borders().

◆ set_lineart_modifier_limits()

◆ set_selected_frames_type()

void blender::ed::greasepencil::set_selected_frames_type ( bke::greasepencil::Layer & layer,
const eBezTriple_KeyframeType key_type )

Definition at line 38 of file grease_pencil_frames.cc.

Referenced by setkeytype_action_keys().

◆ snap_8_angles()

static float2 blender::ed::greasepencil::snap_8_angles ( float2 p)
static

Definition at line 832 of file grease_pencil_primitive.cc.

References abs(), length(), and normalize().

Referenced by grease_pencil_primitive_extruding_update().

◆ snap_diagonals()

static float2 blender::ed::greasepencil::snap_diagonals ( float2 p)
static

Definition at line 818 of file grease_pencil_primitive.cc.

References length().

Referenced by grease_pencil_primitive_extruding_update().

◆ snap_diagonals_box()

static float2 blender::ed::greasepencil::snap_diagonals_box ( float2 p)
static

Definition at line 825 of file grease_pencil_primitive.cc.

References abs().

Referenced by grease_pencil_primitive_extruding_update().

◆ snap_selected_frames()

bool blender::ed::greasepencil::snap_selected_frames ( GreasePencil & grease_pencil,
bke::greasepencil::Layer & layer,
Scene & scene,
const eEditKeyframes_Snap mode )

◆ stroke_opacities()

static constexpr std::array< float, 175 > blender::ed::greasepencil::stroke_opacities ( { 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, } )
staticconstexpr

Referenced by create_stroke().

◆ stroke_positions()

static std::array< float3, 175 > blender::ed::greasepencil::stroke_positions ( { float3(-1.281f, 0.0f, -0.315f), float3(-1.269f, 0.0f, -0.302f), float3(-1.261f, 0.0f, -0.293f), float3(-1.251f, 0.0f, -0.282f), float3(-1.241f, 0.0f, -0.271f), float3(-1.23f, 0.0f, -0.259f), float3(-1.219f, 0.0f, -0.247f), float3(-1.208f, 0.0f, -0.234f), float3(-1.196f, 0.0f, -0.221f), float3(-1.184f, 0.0f, -0.208f), float3(-1.172f, 0.0f, -0.194f), float3(-1.159f, 0.0f, -0.18f), float3(-1.147f, 0.0f, -0.165f), float3(-1.134f, 0.0f, -0.151f), float3(-1.121f, 0.0f, -0.136f), float3(-1.108f, 0.0f, -0.121f), float3(-1.094f, 0.0f, -0.106f), float3(-1.08f, 0.0f, -0.091f), float3(-1.066f, 0.0f, -0.076f), float3(-1.052f, 0.0f, -0.061f), float3(-1.037f, 0.0f, -0.047f), float3(-1.022f, 0.0f, -0.032f), float3(-1.007f, 0.0f, -0.017f), float3(-0.991f, 0.0f, -0.003f), float3(-0.975f, 0.0f, 0.012f), float3(-0.959f, 0.0f, 0.027f), float3(-0.942f, 0.0f, 0.041f), float3(-0.926f, 0.0f, 0.056f), float3(-0.909f, 0.0f, 0.071f), float3(-0.893f, 0.0f, 0.086f), float3(-0.876f, 0.0f, 0.1f), float3(-0.859f, 0.0f, 0.115f), float3(-0.842f, 0.0f, 0.129f), float3(-0.824f, 0.0f, 0.144f), float3(-0.807f, 0.0f, 0.158f), float3(-0.79f, 0.0f, 0.172f), float3(-0.773f, 0.0f, 0.186f), float3(-0.755f, 0.0f, 0.199f), float3(-0.738f, 0.0f, 0.212f), float3(-0.721f, 0.0f, 0.224f), float3(-0.703f, 0.0f, 0.236f), float3(-0.686f, 0.0f, 0.248f), float3(-0.67f, 0.0f, 0.26f), float3(-0.653f, 0.0f, 0.27f), float3(-0.637f, 0.0f, 0.28f), float3(-0.621f, 0.0f, 0.29f), float3(-0.605f, 0.0f, 0.298f), float3(-0.589f, 0.0f, 0.306f), float3(-0.574f, 0.0f, 0.313f), float3(-0.559f, 0.0f, 0.319f), float3(-0.544f, 0.0f, 0.325f), float3(-0.53f, 0.0f, 0.331f), float3(-0.516f, 0.0f, 0.336f), float3(-0.503f, 0.0f, 0.34f), float3(-0.489f, 0.0f, 0.344f), float3(-0.477f, 0.0f, 0.347f), float3(-0.464f, 0.0f, 0.35f), float3(-0.452f, 0.0f, 0.352f), float3(-0.44f, 0.0f, 0.354f), float3(-0.429f, 0.0f, 0.355f), float3(-0.418f, 0.0f, 0.355f), float3(-0.407f, 0.0f, 0.355f), float3(-0.397f, 0.0f, 0.354f), float3(-0.387f, 0.0f, 0.353f), float3(-0.378f, 0.0f, 0.351f), float3(-0.368f, 0.0f, 0.348f), float3(-0.36f, 0.0f, 0.344f), float3(-0.351f, 0.0f, 0.34f), float3(-0.344f, 0.0f, 0.336f), float3(-0.336f, 0.0f, 0.33f), float3(-0.329f, 0.0f, 0.324f), float3(-0.322f, 0.0f, 0.318f), float3(-0.316f, 0.0f, 0.31f), float3(-0.311f, 0.0f, 0.303f), float3(-0.306f, 0.0f, 0.294f), float3(-0.301f, 0.0f, 0.285f), float3(-0.297f, 0.0f, 0.275f), float3(-0.293f, 0.0f, 0.264f), float3(-0.29f, 0.0f, 0.253f), float3(-0.288f, 0.0f, 0.241f), float3(-0.286f, 0.0f, 0.229f), float3(-0.285f, 0.0f, 0.216f), float3(-0.284f, 0.0f, 0.202f), float3(-0.283f, 0.0f, 0.188f), float3(-0.283f, 0.0f, 0.173f), float3(-0.284f, 0.0f, 0.158f), float3(-0.285f, 0.0f, 0.142f), float3(-0.286f, 0.0f, 0.125f), float3(-0.288f, 0.0f, 0.108f), float3(-0.29f, 0.0f, 0.091f), float3(-0.293f, 0.0f, 0.073f), float3(-0.295f, 0.0f, 0.054f), float3(-0.298f, 0.0f, 0.035f), float3(-0.302f, 0.0f, 0.016f), float3(-0.305f, 0.0f, -0.004f), float3(-0.309f, 0.0f, -0.024f), float3(-0.313f, 0.0f, -0.044f), float3(-0.317f, 0.0f, -0.065f), float3(-0.321f, 0.0f, -0.085f), float3(-0.326f, 0.0f, -0.106f), float3(-0.33f, 0.0f, -0.127f), float3(-0.335f, 0.0f, -0.148f), float3(-0.339f, 0.0f, -0.168f), float3(-0.344f, 0.0f, -0.189f), float3(-0.348f, 0.0f, -0.21f), float3(-0.353f, 0.0f, -0.23f), float3(-0.357f, 0.0f, -0.25f), float3(-0.361f, 0.0f, -0.27f), float3(-0.365f, 0.0f, -0.29f), float3(-0.369f, 0.0f, -0.309f), float3(-0.372f, 0.0f, -0.328f), float3(-0.375f, 0.0f, -0.347f), float3(-0.377f, 0.0f, -0.365f), float3(-0.379f, 0.0f, -0.383f), float3(-0.38f, 0.0f, -0.4f), float3(-0.38f, 0.0f, -0.417f), float3(-0.38f, 0.0f, -0.434f), float3(-0.379f, 0.0f, -0.449f), float3(-0.377f, 0.0f, -0.464f), float3(-0.374f, 0.0f, -0.478f), float3(-0.371f, 0.0f, -0.491f), float3(-0.366f, 0.0f, -0.503f), float3(-0.361f, 0.0f, -0.513f), float3(-0.354f, 0.0f, -0.523f), float3(-0.347f, 0.0f, -0.531f), float3(-0.339f, 0.0f, -0.538f), float3(-0.33f, 0.0f, -0.543f), float3(-0.32f, 0.0f, -0.547f), float3(-0.31f, 0.0f, -0.549f), float3(-0.298f, 0.0f, -0.55f), float3(-0.286f, 0.0f, -0.55f), float3(-0.274f, 0.0f, -0.548f), float3(-0.261f, 0.0f, -0.544f), float3(-0.247f, 0.0f, -0.539f), float3(-0.232f, 0.0f, -0.533f), float3(-0.218f, 0.0f, -0.525f), float3(-0.202f, 0.0f, -0.515f), float3(-0.186f, 0.0f, -0.503f), float3(-0.169f, 0.0f, -0.49f), float3(-0.151f, 0.0f, -0.475f), float3(-0.132f, 0.0f, -0.458f), float3(-0.112f, 0.0f, -0.44f), float3(-0.091f, 0.0f, -0.42f), float3(-0.069f, 0.0f, -0.398f), float3(-0.045f, 0.0f, -0.375f), float3(-0.021f, 0.0f, -0.35f), float3(0.005f, 0.0f, -0.324f), float3(0.031f, 0.0f, -0.297f), float3(0.06f, 0.0f, -0.268f), float3(0.089f, 0.0f, -0.238f), float3(0.12f, 0.0f, -0.207f), float3(0.153f, 0.0f, -0.175f), float3(0.187f, 0.0f, -0.14f), float3(0.224f, 0.0f, -0.104f), float3(0.262f, 0.0f, -0.067f), float3(0.302f, 0.0f, -0.027f), float3(0.344f, 0.0f, 0.014f), float3(0.388f, 0.0f, 0.056f), float3(0.434f, 0.0f, 0.1f), float3(0.483f, 0.0f, 0.145f), float3(0.533f, 0.0f, 0.191f), float3(0.585f, 0.0f, 0.238f), float3(0.637f, 0.0f, 0.284f), float3(0.69f, 0.0f, 0.33f), float3(0.746f, 0.0f, 0.376f), float3(0.802f, 0.0f, 0.421f), float3(0.859f, 0.0f, 0.464f), float3(0.915f, 0.0f, 0.506f), float3(0.97f, 0.0f, 0.545f), float3(1.023f, 0.0f, 0.581f), float3(1.075f, 0.0f, 0.614f), float3(1.122f, 0.0f, 0.643f), float3(1.169f, 0.0f, 0.671f), float3(1.207f, 0.0f, 0.693f), float3(1.264f, 0.0f, 0.725f), } )
static

Referenced by create_stroke().

◆ stroke_radii()

static constexpr std::array< float, 175 > blender::ed::greasepencil::stroke_radii ( { 0.00143, 0.00259, 0.00334, 0.00420, 0.00503, 0.00581, 0.00656, 0.00728, 0.00791, 0.00851, 0.00907, 0.00960, 0.01005, 0.01050, 0.01087, 0.01121, 0.01151, 0.01181, 0.01208, 0.01234, 0.01256, 0.01279, 0.01297, 0.01316, 0.01331, 0.01350, 0.01365, 0.01380, 0.01391, 0.01399, 0.01410, 0.01414, 0.01418, 0.01421, 0.01421, 0.01421, 0.01425, 0.01425, 0.01429, 0.01433, 0.01440, 0.01448, 0.01455, 0.01462, 0.01474, 0.01485, 0.01496, 0.01511, 0.01526, 0.01541, 0.01556, 0.01575, 0.01594, 0.01616, 0.01639, 0.01661, 0.01688, 0.01714, 0.01740, 0.01766, 0.01796, 0.01826, 0.01856, 0.01886, 0.01920, 0.01950, 0.01980, 0.02014, 0.02044, 0.02074, 0.02107, 0.02138, 0.02171, 0.02205, 0.02239, 0.02273, 0.02306, 0.02344, 0.02381, 0.02415, 0.02452, 0.02490, 0.02531, 0.02569, 0.02610, 0.02651, 0.02693, 0.02734, 0.02775, 0.02816, 0.02854, 0.02895, 0.02933, 0.02974, 0.03015, 0.03056, 0.03105, 0.03161, 0.03225, 0.03296, 0.03364, 0.03431, 0.03495, 0.03551, 0.03608, 0.03652, 0.03694, 0.03731, 0.03765, 0.03791, 0.03818, 0.03840, 0.03859, 0.03874, 0.03885, 0.03889, 0.03889, 0.03881, 0.03870, 0.03859, 0.03848, 0.03836, 0.03829, 0.03821, 0.03814, 0.03810, 0.03810, 0.03810, 0.03810, 0.03814, 0.03814, 0.03818, 0.03814, 0.03814, 0.03810, 0.03806, 0.03799, 0.03784, 0.03769, 0.03743, 0.03713, 0.03675, 0.03630, 0.03581, 0.03521, 0.03461, 0.03405, 0.03356, 0.03308, 0.03263, 0.03218, 0.03165, 0.03105, 0.03038, 0.02963, 0.02884, 0.02801, 0.02715, 0.02625, 0.02535, 0.02441, 0.02344, 0.02246, 0.02149, 0.02048, 0.01935, 0.01811, 0.01673, 0.01526, 0.01369, 0.01208, 0.01050, 0.00885, 0.00758, 0.00581, } )
staticconstexpr

Referenced by create_stroke().

◆ stroke_simplify()

◆ stroke_trim_execute()

◆ toggle_caps()

static void blender::ed::greasepencil::toggle_caps ( MutableSpan< int8_t > caps,
const IndexMask & strokes )
static

◆ toggle_weight_tool_direction()

◆ toggle_weight_tool_direction_poll()

◆ vertex_group_normalize_all_exec()

◆ vertex_group_normalize_exec()

◆ vertex_group_smooth_exec()

◆ vertexmode_toggle_exec()

◆ vertexmode_toggle_poll()

static bool blender::ed::greasepencil::vertexmode_toggle_poll ( bContext * C)
static

◆ weight_sample_invoke()

◆ weightmode_toggle_exec()

◆ weightmode_toggle_poll()

static bool blender::ed::greasepencil::weightmode_toggle_poll ( bContext * C)
static

◆ wrap_dir_3n()

static int blender::ed::greasepencil::wrap_dir_3n ( const int dir)
static

Definition at line 436 of file grease_pencil_fill.cc.

References int, and num_directions.

Referenced by build_fill_boundary().

Variable Documentation

◆ attr_is_boundary

const char* blender::ed::greasepencil::attr_is_boundary = "is_boundary"
constexpr

Definition at line 762 of file grease_pencil_fill.cc.

Referenced by get_visible_boundary_strokes().

◆ attr_material_index

const char* blender::ed::greasepencil::attr_material_index = "material_index"
constexpr

◆ BBOX_PADDING

int blender::ed::greasepencil::BBOX_PADDING = 2
staticconstexpr

Definition at line 35 of file grease_pencil_trim.cc.

◆ control_point_center

int blender::ed::greasepencil::control_point_center = 1
staticconstexpr

◆ control_point_first

int blender::ed::greasepencil::control_point_first = 0
staticconstexpr

◆ control_point_last

int blender::ed::greasepencil::control_point_last = 2
staticconstexpr

Definition at line 105 of file grease_pencil_primitive.cc.

Referenced by grease_pencil_primitive_grab_update().

◆ draw_boundary_color

const ColorGeometry4f blender::ed::greasepencil::draw_boundary_color = {1, 0, 0, 1}

Definition at line 52 of file grease_pencil_fill.cc.

Referenced by fill_strokes().

◆ draw_seed_color

const ColorGeometry4f blender::ed::greasepencil::draw_seed_color = {0, 1, 0, 1}

Definition at line 53 of file grease_pencil_fill.cc.

Referenced by fill_strokes().

◆ enum_layer_move_direction

const EnumPropertyItem blender::ed::greasepencil::enum_layer_move_direction[]
static
Initial value:
= {
{int(LayerMoveDirection::Up), "UP", 0, "Up", ""},
{int(LayerMoveDirection::Down), "DOWN", 0, "Down", ""},
{0, nullptr, 0, nullptr, nullptr},
}
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int

Definition at line 276 of file grease_pencil_layers.cc.

Referenced by GREASE_PENCIL_OT_layer_mask_reorder(), and GREASE_PENCIL_OT_layer_move().

◆ enum_layergroup_color_items

const EnumPropertyItem blender::ed::greasepencil::enum_layergroup_color_items[]
Initial value:
= {
{LAYERGROUP_COLOR_NONE, "NONE", ICON_X, "Set Default icon", ""},
{LAYERGROUP_COLOR_01, "COLOR1", ICON_LAYERGROUP_COLOR_01, "Color tag 1", ""},
{LAYERGROUP_COLOR_02, "COLOR2", ICON_LAYERGROUP_COLOR_02, "Color tag 2", ""},
{LAYERGROUP_COLOR_03, "COLOR3", ICON_LAYERGROUP_COLOR_03, "Color tag 3", ""},
{LAYERGROUP_COLOR_04, "COLOR4", ICON_LAYERGROUP_COLOR_04, "Color tag 4", ""},
{LAYERGROUP_COLOR_05, "COLOR5", ICON_LAYERGROUP_COLOR_05, "Color tag 5", ""},
{LAYERGROUP_COLOR_06, "COLOR6", ICON_LAYERGROUP_COLOR_06, "Color tag 6", ""},
{LAYERGROUP_COLOR_07, "COLOR7", ICON_LAYERGROUP_COLOR_07, "Color tag 7", ""},
{LAYERGROUP_COLOR_08, "COLOR8", ICON_LAYERGROUP_COLOR_08, "Color tag 8", ""},
{0, nullptr, 0, nullptr, nullptr},
}
@ LAYERGROUP_COLOR_01
@ LAYERGROUP_COLOR_NONE
@ LAYERGROUP_COLOR_06
@ LAYERGROUP_COLOR_04
@ LAYERGROUP_COLOR_05
@ LAYERGROUP_COLOR_03
@ LAYERGROUP_COLOR_08
@ LAYERGROUP_COLOR_07
@ LAYERGROUP_COLOR_02

Definition at line 1065 of file grease_pencil_layers.cc.

Referenced by GREASE_PENCIL_OT_layer_group_color_tag().

◆ gp_fill_material_grey

const ColorTemplate blender::ed::greasepencil::gp_fill_material_grey
static
Initial value:
= {
N_("Grey"),
{0.358f, 0.358f, 0.358f, 1.0f},
{0.5f, 0.5f, 0.5f, 1.0f},
false,
true,
}
#define N_(msgid)

Definition at line 74 of file grease_pencil_add.cc.

Referenced by create_stroke().

◆ gp_monkey_material_black

const ColorTemplate blender::ed::greasepencil::gp_monkey_material_black
static
Initial value:
= {
N_("Black"),
{0.0f, 0.0f, 0.0f, 1.0f},
{0.0f, 0.0f, 0.0f, 0.0f},
true,
false,
}

Definition at line 82 of file grease_pencil_add.cc.

Referenced by create_suzanne().

◆ gp_monkey_material_eyes

const ColorTemplate blender::ed::greasepencil::gp_monkey_material_eyes
static
Initial value:
= {
N_("Eyes"),
{0.553f, 0.39f, 0.266f, 0.0f},
{0.847f, 0.723f, 0.599f, 1.0f},
false,
true,
}

Definition at line 114 of file grease_pencil_add.cc.

Referenced by create_suzanne().

◆ gp_monkey_material_pupils

const ColorTemplate blender::ed::greasepencil::gp_monkey_material_pupils
static
Initial value:
= {
N_("Pupils"),
{0.0f, 0.0f, 0.0f, 0.0f},
{0.0f, 0.0f, 0.0f, 1.0f},
false,
true,
}

Definition at line 122 of file grease_pencil_add.cc.

Referenced by create_suzanne().

◆ gp_monkey_material_skin

const ColorTemplate blender::ed::greasepencil::gp_monkey_material_skin
static
Initial value:
= {
N_("Skin"),
{0.733f, 0.569f, 0.361f, 1.0f},
{0.745f, 0.502f, 0.278f, 1.0f},
false,
true,
}

Definition at line 90 of file grease_pencil_add.cc.

Referenced by create_suzanne().

◆ gp_monkey_material_skin_light

const ColorTemplate blender::ed::greasepencil::gp_monkey_material_skin_light
static
Initial value:
= {
N_("Skin_light"),
{0.914f, 0.827f, 0.635f, 1.0f},
{0.913f, 0.828f, 0.637f, 0.0f},
true,
false,
}

Definition at line 98 of file grease_pencil_add.cc.

Referenced by create_suzanne().

◆ gp_monkey_material_skin_shadow

const ColorTemplate blender::ed::greasepencil::gp_monkey_material_skin_shadow
static
Initial value:
= {
N_("Skin_shadow"),
{0.322f, 0.29f, 0.224f, 0.5f},
{0.32f, 0.29f, 0.223f, 0.3f},
true,
false,
}

Definition at line 106 of file grease_pencil_add.cc.

Referenced by create_suzanne().

◆ gp_stroke_material_black

const ColorTemplate blender::ed::greasepencil::gp_stroke_material_black
static
Initial value:
= {
N_("Black"),
{0.0f, 0.0f, 0.0f, 1.0f},
{0.0f, 0.0f, 0.0f, 0.0f},
true,
false,
}

Definition at line 34 of file grease_pencil_add.cc.

Referenced by create_blank(), and create_stroke().

◆ gp_stroke_material_blue

const ColorTemplate blender::ed::greasepencil::gp_stroke_material_blue
static
Initial value:
= {
N_("Blue"),
{0.0f, 0.0f, 1.0f, 1.0f},
{0.0f, 0.0f, 0.0f, 0.0f},
true,
false,
}

Definition at line 66 of file grease_pencil_add.cc.

Referenced by create_stroke().

◆ gp_stroke_material_green

const ColorTemplate blender::ed::greasepencil::gp_stroke_material_green
static
Initial value:
= {
N_("Green"),
{0.0f, 1.0f, 0.0f, 1.0f},
{0.0f, 0.0f, 0.0f, 0.0f},
true,
false,
}

Definition at line 58 of file grease_pencil_add.cc.

Referenced by create_stroke().

◆ gp_stroke_material_red

const ColorTemplate blender::ed::greasepencil::gp_stroke_material_red
static
Initial value:
= {
N_("Red"),
{1.0f, 0.0f, 0.0f, 1.0f},
{0.0f, 0.0f, 0.0f, 0.0f},
true,
false,
}

Definition at line 50 of file grease_pencil_add.cc.

Referenced by create_stroke().

◆ gp_stroke_material_white

const ColorTemplate blender::ed::greasepencil::gp_stroke_material_white
static
Initial value:
= {
N_("White"),
{1.0f, 1.0f, 1.0f, 1.0f},
{0.0f, 0.0f, 0.0f, 0.0f},
true,
false,
}

Definition at line 42 of file grease_pencil_add.cc.

Referenced by create_stroke().

◆ grease_pencil_clipboard

struct blender::ed::greasepencil::Clipboard * blender::ed::greasepencil::grease_pencil_clipboard = nullptr
static

◆ grease_pencil_clipboard_lock

std::mutex blender::ed::greasepencil::grease_pencil_clipboard_lock

The clone brush accesses the clipboard from multiple threads. Protect from parallel access.

Definition at line 2210 of file grease_pencil_edit.cc.

Referenced by clipboard_free(), ensure_grease_pencil_clipboard(), and grease_pencil_paste_strokes_poll().

◆ num_directions

const int blender::ed::greasepencil::num_directions = 8
constexpr

Definition at line 363 of file grease_pencil_fill.cc.

Referenced by build_fill_boundary(), and wrap_dir_3n().

◆ offset_by_direction

const int2 blender::ed::greasepencil::offset_by_direction[num_directions]
static
Initial value:
= {
{-1, -1},
{0, -1},
{1, -1},
{1, 0},
{1, 1},
{0, 1},
{-1, 1},
{-1, 0},
}

Definition at line 364 of file grease_pencil_fill.cc.

Referenced by build_fill_boundary(), dilate(), and erode().

◆ prop_cyclical_types

const EnumPropertyItem blender::ed::greasepencil::prop_cyclical_types[]
static
Initial value:
= {
{int(CyclicalMode::CLOSE), "CLOSE", 0, "Close All", ""},
{int(CyclicalMode::OPEN), "OPEN", 0, "Open All", ""},
{int(CyclicalMode::TOGGLE), "TOGGLE", 0, "Toggle", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 840 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_cyclical_set().

◆ prop_dissolve_types

const EnumPropertyItem blender::ed::greasepencil::prop_dissolve_types[]
static
Initial value:
= {
{int(DissolveMode::POINTS), "POINTS", 0, "Dissolve", "Dissolve selected points"},
{int(DissolveMode::BETWEEN),
"BETWEEN",
0,
"Dissolve Between",
"Dissolve points between selected points"},
{int(DissolveMode::UNSELECT),
"UNSELECT",
0,
"Dissolve Unselect",
"Dissolve all unselected points"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 532 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_dissolve().

◆ prop_grease_pencil_vertex_mode

const EnumPropertyItem blender::ed::greasepencil::prop_grease_pencil_vertex_mode[]
static
Initial value:
= {
{int(VertexColorMode::Stroke), "STROKE", 0, "Stroke", ""},
{int(VertexColorMode::Fill), "FILL", 0, "Fill", ""},
{int(VertexColorMode::Both), "BOTH", 0, "Stroke & Fill", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 32 of file grease_pencil/intern/grease_pencil_vertex_paint.cc.

Referenced by GREASE_PENCIL_OT_stroke_reset_vertex_color(), GREASE_PENCIL_OT_vertex_color_brightness_contrast(), GREASE_PENCIL_OT_vertex_color_hsv(), GREASE_PENCIL_OT_vertex_color_invert(), GREASE_PENCIL_OT_vertex_color_levels(), and GREASE_PENCIL_OT_vertex_color_set().

◆ prop_greasepencil_deleteframe_types

const EnumPropertyItem blender::ed::greasepencil::prop_greasepencil_deleteframe_types[]
static
Initial value:
= {
{int(DeleteFrameMode::ACTIVE_FRAME),
"ACTIVE_FRAME",
0,
"Active Frame",
"Deletes current frame in the active layer"},
{int(DeleteFrameMode::ALL_FRAMES),
"ALL_FRAMES",
0,
"All Active Frames",
"Delete active frames for all layers"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 684 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_delete_frame().

◆ prop_layer_reorder_location

const EnumPropertyItem blender::ed::greasepencil::prop_layer_reorder_location[]
static
Initial value:
= {
{LAYER_REORDER_ABOVE, "ABOVE", 0, "Above", ""},
{LAYER_REORDER_BELOW, "BELOW", 0, "Below", ""},
{0, nullptr, 0, nullptr, nullptr},
}
@ LAYER_REORDER_BELOW
@ LAYER_REORDER_ABOVE

Definition at line 191 of file grease_pencil_layers.cc.

Referenced by GREASE_PENCIL_OT_layer_reorder().

◆ prop_separate_modes

const EnumPropertyItem blender::ed::greasepencil::prop_separate_modes[]
static
Initial value:
= {
{int(SeparateMode::SELECTED), "SELECTED", 0, "Selection", "Separate selected geometry"},
{int(SeparateMode::MATERIAL), "MATERIAL", 0, "By Material", "Separate by material"},
{int(SeparateMode::LAYER), "LAYER", 0, "By Layer", "Separate by layer"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 1838 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_separate().

◆ select_similar_mode_items

const EnumPropertyItem blender::ed::greasepencil::select_similar_mode_items[]
static
Initial value:
= {
{int(SelectSimilarMode::LAYER), "LAYER", 0, "Layer", ""},
{int(SelectSimilarMode::MATERIAL), "MATERIAL", 0, "Material", ""},
{int(SelectSimilarMode::VERTEX_COLOR), "VERTEX_COLOR", 0, "Vertex Color", ""},
{int(SelectSimilarMode::RADIUS), "RADIUS", 0, "Radius", ""},
{int(SelectSimilarMode::OPACITY), "OPACITY", 0, "Opacity", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 576 of file grease_pencil_select.cc.

Referenced by GREASE_PENCIL_OT_select_similar().

◆ ui_point_hit_size_px

float blender::ed::greasepencil::ui_point_hit_size_px = 20.0f
staticconstexpr

Definition at line 99 of file grease_pencil_primitive.cc.

Referenced by primitive_check_ui_hover().

◆ ui_point_max_hit_size_px

float blender::ed::greasepencil::ui_point_max_hit_size_px = 600.0f
staticconstexpr

Definition at line 100 of file grease_pencil_primitive.cc.

Referenced by primitive_check_ui_hover().

◆ ui_primary_point_draw_size_px

float blender::ed::greasepencil::ui_primary_point_draw_size_px = 8.0f
staticconstexpr

Definition at line 96 of file grease_pencil_primitive.cc.

Referenced by control_point_colors_and_sizes().

◆ ui_secondary_point_draw_size_px

float blender::ed::greasepencil::ui_secondary_point_draw_size_px = 5.0f
staticconstexpr

Definition at line 97 of file grease_pencil_primitive.cc.

Referenced by control_point_colors_and_sizes().

◆ ui_tertiary_point_draw_size_px

float blender::ed::greasepencil::ui_tertiary_point_draw_size_px = 3.0f
staticconstexpr

Definition at line 98 of file grease_pencil_primitive.cc.

Referenced by control_point_colors_and_sizes().