Blender V5.0
blender::ed::greasepencil Namespace Reference

Namespaces

namespace  trim
namespace  image_render
namespace  undo
namespace  tests

Classes

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

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 , ChangeRadius = 7 ,
  ChangeOpacity = 8
}
enum class  ControlPointType : int8_t { JoinPoint = 0 , HandlePoint = 1 }
enum class  ModalKeyMode : int8_t {
  Cancel = 1 , Confirm , Extrude , Panning ,
  Grab , Rotate , Scale , IncreaseSubdivision ,
  DecreaseSubdivision , ChangeRadius , ChangeOpacity
}
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 , Stroke }
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 wmOperatorStatus 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< int > get_selected_object_keyframes (Span< Object * > bake_targets)
static wmOperatorStatus 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)
IndexRange paste_all_strokes_from_clipboard (Main &bmain, Object &object, const float4x4 &object_to_paste_layer, const bool keep_world_transform, const bool paste_back, bke::greasepencil::Drawing &drawing)
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< int > add_materials_to_map (Object &object, 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 bke::AttributeStorage merge_attributes (const bke::AttributeAccessor &a, const bke::AttributeAccessor &b, const int dst_size)
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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus grease_pencil_frame_duplicate_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_frame_duplicate (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_active_frame_delete_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_active_frame_delete (wmOperatorType *ot)
static bool grease_pencil_active_breakdown_frame_poll (bContext *C)
static wmOperatorStatus grease_pencil_delete_breakdown_frames_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_delete_breakdown (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_circle_from_point (const float3 &pt, const float radius, const int corner_subdivisions, const int src_point_index, Vector< float3 > &r_perimeter, Vector< int > &r_src_indices)
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 float miter_limit_angle, 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 VArray< float > miter_angles, 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)
static float4x4 get_bone_mat (const Object *parent, const char *parsubstr)
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 wmOperatorStatus grease_pencil_layer_add_exec (bContext *C, wmOperator *op)
static wmOperatorStatus grease_pencil_layer_add_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void GREASE_PENCIL_OT_layer_add (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_remove_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_layer_remove (wmOperatorType *ot)
static bool grease_pencil_layer_move_poll (bContext *C)
static wmOperatorStatus grease_pencil_layer_move_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_move (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_active_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_active (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_group_add_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_group_add (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_group_remove_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_group_remove (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_hide_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_hide (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_reveal_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_layer_reveal (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_isolate_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_isolate (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_lock_all_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_lock_all (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_duplicate_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_duplicate (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_merge_layer_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_merge (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_mask_add_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_mask_add (wmOperatorType *ot)
static bool grease_pencil_layer_mask_poll (bContext *C)
static wmOperatorStatus grease_pencil_layer_mask_remove_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_layer_mask_remove (wmOperatorType *ot)
static bool grease_pencil_layer_mask_reorder_poll (bContext *C)
static wmOperatorStatus grease_pencil_layer_mask_reorder_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_mask_reorder (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_layer_group_color_tag_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_layer_group_color_tag (wmOperatorType *ot)
static void copy_layer_and_frames_to_target_object (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 wmOperatorStatus 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 editable_grease_pencil_with_region_view3d_poll (bContext *C)
bool active_grease_pencil_layer_poll (bContext *C)
bool active_grease_pencil_layer_group_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 void grease_pencil_pen_exit (bContext *C, wmOperator *op)
static wmOperatorStatus grease_pencil_pen_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static wmOperatorStatus grease_pencil_pen_modal (bContext *C, wmOperator *op, const wmEvent *event)
static void GREASE_PENCIL_OT_pen (wmOperatorType *ot)
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 wmOperatorStatus grease_pencil_primitive_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void grease_pencil_primitive_exit (bContext *C, wmOperator *op, const bool cancelled)
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 void grease_pencil_primitive_init_radius (PrimitiveToolOperation &ptd)
static void grease_pencil_primitive_init_opacity (PrimitiveToolOperation &ptd)
static void grease_pencil_primitive_cancel_radius (PrimitiveToolOperation &ptd)
static void grease_pencil_primitive_cancel_opacity (PrimitiveToolOperation &ptd)
static void grease_pencil_primitive_change_radius (PrimitiveToolOperation &ptd, const wmEvent *event)
static void grease_pencil_primitive_change_opacity (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 wmOperatorStatus grease_pencil_primitive_event_modal_map (bContext *C, wmOperator *op, PrimitiveToolOperation &ptd, const wmEvent *event)
static wmOperatorStatus grease_pencil_primitive_mouse_event (PrimitiveToolOperation &ptd, const wmEvent *event)
static void grease_pencil_primitive_operator_update (PrimitiveToolOperation &ptd, const wmEvent *event)
static wmOperatorStatus 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)
float randomize_radius (const BrushGpencilSettings &settings, const float stroke_factor, const float distance, const float radius, const float pressure)
float randomize_opacity (const BrushGpencilSettings &settings, const float stroke_factor, const float distance, const float opacity, const float pressure)
float randomize_rotation (const BrushGpencilSettings &settings, const float stroke_factor, const float distance, const float pressure)
float randomize_rotation (const BrushGpencilSettings &settings, RandomNumberGenerator &rng, const float stroke_factor, const float pressure)
ColorGeometry4f randomize_color (const BrushGpencilSettings &settings, const std::optional< BrushColorJitterSettings > &jitter, const float stroke_hue_factor, const float stroke_saturation_factor, const float stroke_value_factor, const float distance, const ColorGeometry4f color, const float pressure)
static wmOperatorStatus select_all_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_select_all (wmOperatorType *ot)
static wmOperatorStatus select_more_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_select_more (wmOperatorType *ot)
static wmOperatorStatus select_less_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_select_less (wmOperatorType *ot)
static wmOperatorStatus select_linked_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_select_linked (wmOperatorType *ot)
static wmOperatorStatus select_random_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_select_random (wmOperatorType *ot)
static wmOperatorStatus select_alternate_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_select_alternate (wmOperatorType *ot)
template<typename T>
void insert_selected_values (Object *object, const MutableDrawingInfo &info, const bke::AttrDomain domain, const StringRef attribute_id, const int handle_display, 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 selection_domain, const StringRef attribute_id, const int handle_display, float threshold, DistanceFn distance_fn)
static void select_similar_by_layer (Scene *scene, Object *object, GreasePencil &grease_pencil, bke::AttrDomain domain)
static wmOperatorStatus select_similar_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_select_similar (wmOperatorType *ot)
static wmOperatorStatus select_ends_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_select_ends (wmOperatorType *ot)
bool ensure_selection_domain (ToolSettings *ts, Object *object)
static wmOperatorStatus select_set_mode_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_set_selection_mode (wmOperatorType *ot)
static wmOperatorStatus 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 Object &ob_eval, Object &obact, const ARegion &region, const float4x4 &projection, const Span< int2 > mcoords, const bool keep_caps, bke::greasepencil::Drawing &drawing)
static wmOperatorStatus stroke_trim_execute (const bContext *C, const Span< int2 > mcoords)
static wmOperatorStatus grease_pencil_stroke_trim_exec (bContext *C, wmOperator *op)
static float get_frame_falloff (const bool use_multi_frame_falloff, const int frame_number, const int active_frame, const std::optional< Bounds< int > > frame_bounds, const CurveMapping *falloff_curve)
static std::optional< Bounds< int > > get_selected_frame_number_bounds (const bke::greasepencil::Layer &layer)
static int get_active_frame_for_falloff (const bke::greasepencil::Layer &layer, const std::optional< Bounds< int > > frame_bounds, const int current_frame)
static std::optional< int > 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 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< int > get_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< int > get_locked_material_indices (Object &object)
static VectorSet< int > get_hidden_material_indices (Object &object)
static VectorSet< int > get_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_strokes (Object &object, const bke::greasepencil::Drawing &drawing, IndexMaskMemory &memory)
IndexMask retrieve_visible_bezier_points (Object &object, const bke::greasepencil::Drawing &drawing, IndexMaskMemory &memory)
IndexMask retrieve_visible_bezier_handle_strokes (Object &object, const bke::greasepencil::Drawing &drawing, const int handle_display, IndexMaskMemory &memory)
IndexMask retrieve_visible_bezier_handle_points (Object &object, const bke::greasepencil::Drawing &drawing, const int layer_index, const int handle_display, IndexMaskMemory &memory)
IndexMask retrieve_visible_bezier_handle_elements (Object &object, const bke::greasepencil::Drawing &drawing, const int layer_index, const bke::AttrDomain selection_domain, const int handle_display, 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)
IndexMask retrieve_editable_and_all_selected_points (Object &object, const bke::greasepencil::Drawing &drawing, int layer_index, int handle_display, IndexMaskMemory &memory)
bool has_editable_layer (const GreasePencil &grease_pencil)
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)
wmOperatorStatus 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)
void add_single_curve (bke::CurvesGeometry &curves, const bool at_end)
void resize_single_curve (bke::CurvesGeometry &curves, const bool at_end, const int new_points_num)
void apply_eval_grease_pencil_data (const GreasePencil &eval_grease_pencil, const int eval_frame, const IndexMask &orig_layers, GreasePencil &orig_grease_pencil)
bool remove_fill_guides (bke::CurvesGeometry &curves)
template<typename Fn>
static bool apply_color_operation_for_mode (const VertexColorMode mode, Object &object, MutableDrawingInfo &info, const bool use_selection_mask, Fn &&fn)
static wmOperatorStatus grease_pencil_vertex_paint_brightness_contrast_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_vertex_color_brightness_contrast (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_vertex_paint_hsv_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_vertex_color_hsv (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_vertex_paint_invert_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_vertex_color_invert (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_vertex_paint_levels_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_vertex_color_levels (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_vertex_paint_set_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_vertex_color_set (wmOperatorType *ot)
static wmOperatorStatus 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 wmOperatorStatus weight_sample_invoke (bContext *C, wmOperator *, const wmEvent *event)
static void GREASE_PENCIL_OT_weight_sample (wmOperatorType *ot)
static wmOperatorStatus toggle_weight_tool_direction_exec (bContext *C, wmOperator *)
static bool toggle_weight_tool_direction_poll (bContext *C)
static void GREASE_PENCIL_OT_weight_toggle_direction (wmOperatorType *ot)
static wmOperatorStatus 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 wmOperatorStatus vertex_group_smooth_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_vertex_group_smooth (wmOperatorType *ot)
static wmOperatorStatus vertex_group_normalize_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_vertex_group_normalize (wmOperatorType *ot)
static wmOperatorStatus 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 Bounds< float2get_region_bounds (const ARegion &region)
static std::optional< Bounds< float2 > > 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, const float pixel_scale)
static Imagerender_strokes (const ViewContext &view_context, const Brush &brush, const Scene &scene, const bke::greasepencil::Layer &layer, const VArray< bool > &boundary_layers, const Span< DrawingInfo > src_drawings, const int2 &image_size, const std::optional< float > alpha_threshold, const float2 &fill_point, const ExtensionData &extensions, const ed::greasepencil::DrawingPlacement &placement, const float2 &zoom, const float2 &offset)
Smooth Stroke Operator
static wmOperatorStatus grease_pencil_stroke_smooth_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_stroke_smooth (wmOperatorType *ot)
Delete Operator
static wmOperatorStatus grease_pencil_delete_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_delete (wmOperatorType *ot)
Stroke Material Set Operator
static wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus grease_pencil_set_material_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_set_material (wmOperatorType *ot)
Set Uniform Thickness Operator
static wmOperatorStatus 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 wmOperatorStatus grease_pencil_set_uniform_opacity_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_set_uniform_opacity (wmOperatorType *ot)
Switch Direction Operator
static wmOperatorStatus grease_pencil_stroke_switch_direction_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_stroke_switch_direction (wmOperatorType *ot)
Set Start Point Operator
static bke::CurvesGeometry set_start_point (const bke::CurvesGeometry &curves, const IndexMask &mask)
static wmOperatorStatus grease_pencil_set_start_point_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_set_start_point (wmOperatorType *ot)
Duplicate Operator
static wmOperatorStatus grease_pencil_duplicate_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_duplicate (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_clean_loose_exec (bContext *C, wmOperator *op)
static wmOperatorStatus 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 wmOperatorStatus gpencil_stroke_subdivide_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_stroke_subdivide (wmOperatorType *ot)
Move To Layer Operator
static wmOperatorStatus grease_pencil_move_to_layer_exec (bContext *C, wmOperator *op)
static wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus grease_pencil_extrude_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_extrude (wmOperatorType *ot)
Reproject Strokes Operator
static float calculate_radius_projection_factor (const RegionView3D *rv3d, const float3 &old_pos, const float3 &new_pos)
static wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus grease_pencil_texture_gradient_exec (bContext *C, wmOperator *op)
static wmOperatorStatus grease_pencil_texture_gradient_modal (bContext *C, wmOperator *op, const wmEvent *event)
static wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus grease_pencil_set_curve_resolution_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_set_curve_resolution (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_reset_uvs_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_reset_uvs (wmOperatorType *ot)
static wmOperatorStatus grease_pencil_stroke_split_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_stroke_split (wmOperatorType *ot)
Convert Curve Type Operator
static bke::CurvesGeometry fit_poly_curves (bke::CurvesGeometry &curves, const IndexMask &selection, const float threshold)
static void convert_to_catmull_rom (bke::CurvesGeometry &curves, const IndexMask &selection, const float threshold)
static void convert_to_poly (bke::CurvesGeometry &curves, const IndexMask &selection)
static void convert_to_bezier (bke::CurvesGeometry &curves, const IndexMask &selection, const float threshold)
static void convert_to_nurbs (bke::CurvesGeometry &curves, const IndexMask &selection, const float threshold)
static wmOperatorStatus grease_pencil_convert_curve_type_exec (bContext *C, wmOperator *op)
static void grease_pencil_convert_curve_type_ui (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_convert_curve_type (wmOperatorType *ot)
Show All Materials Operator
static wmOperatorStatus grease_pencil_material_reveal_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_material_reveal (wmOperatorType *ot)
Hide Others Materials Operator
static wmOperatorStatus grease_pencil_material_hide_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_material_hide (wmOperatorType *ot)
Lock All Materials Operator
static wmOperatorStatus grease_pencil_material_lock_all_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_material_lock_all (wmOperatorType *ot)
Unlock All Materials Operator
static wmOperatorStatus grease_pencil_material_unlock_all_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_material_unlock_all (wmOperatorType *ot)
Lock Unused Materials Operator
static wmOperatorStatus grease_pencil_material_lock_unused_exec (bContext *C, wmOperator *)
static void GREASE_PENCIL_OT_material_lock_unused (wmOperatorType *ot)
Lock Unselected Materials Operator
static wmOperatorStatus 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 wmOperatorStatus grease_pencil_material_copy_to_object_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_material_copy_to_object (wmOperatorType *ot)
static wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 wmOperatorStatus 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 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_fill_guide = ".is_fill_guide"

Simplify Stroke Operator

enum class  SimplifyMode { FIXED = 0 , ADAPTIVE = 1 , SAMPLE = 2 , MERGE = 3 }
static const EnumPropertyItem prop_simplify_modes []
static IndexMask simplify_fixed (const bke::CurvesGeometry &curves, const int step, const IndexMask &stroke_selection, IndexMaskMemory &memory)
static wmOperatorStatus grease_pencil_stroke_simplify_exec (bContext *C, wmOperator *op)
static void grease_pencil_simplify_ui (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_stroke_simplify (wmOperatorType *ot)

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 wmOperatorStatus 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 wmOperatorStatus 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 bke::CurvesGeometry subdivide_last_segement (const bke::CurvesGeometry &curves, const IndexMask &strokes)
static wmOperatorStatus 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 wmOperatorStatus 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< int > get_reordered_indices (const IndexRange universe, const IndexMask &selected, const ReorderDirection direction)
static wmOperatorStatus 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, Vector< int > &src_to_dst_layer_indices)
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 wmOperatorStatus grease_pencil_separate_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_separate (wmOperatorType *ot)

Copy and Paste Operator

enum class  PasteType { Active = 0 , ByLayer = 1 }
static struct blender::ed::greasepencil::Clipboardgrease_pencil_clipboard = nullptr
blender::Mutex grease_pencil_clipboard_lock
static Clipboardensure_grease_pencil_clipboard ()
void clipboard_free ()
static Array< int > clipboard_materials_remap (Main &bmain, Object &object)
static bke::GeometrySet join_geometries_with_transforms (Span< bke::GeometrySet > geometries, const VArray< float4x4 > &transforms)
static bke::GeometrySet join_geometries_with_transform (Span< bke::GeometrySet > geometries, const float4x4 &transform)
static wmOperatorStatus grease_pencil_copy_strokes_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_copy (wmOperatorType *ot)
static IndexRange clipboard_paste_strokes_ex (Main &bmain, Object &object, const bke::CurvesGeometry &curves_to_paste, const float4x4 &object_to_paste_layer, const float4x4 &clipboard_to_world, const bool keep_world_transform, const bool paste_back, bke::greasepencil::Drawing &drawing)
static wmOperatorStatus grease_pencil_paste_strokes_exec (bContext *C, wmOperator *op)
static bool grease_pencil_paste_strokes_poll (bContext *C)
static void GREASE_PENCIL_OT_paste (wmOperatorType *ot)

Remove Fill Guide Strokes Operator

enum class  RemoveFillGuidesMode : int8_t { ActiveFrame = 0 , AllFrames = 1 }
static wmOperatorStatus grease_pencil_remove_fill_guides_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_remove_fill_guides (wmOperatorType *ot)

Outline Operator

enum class  OutlineMode : int8_t {
  View = 0 , Front = 1 , Side = 2 , Top = 3 ,
  Cursor = 4 , Camera = 5
}
static const EnumPropertyItem prop_outline_modes []
static wmOperatorStatus grease_pencil_outline_exec (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_outline (wmOperatorType *ot)

Set Corner Type Operator

enum class  CornerType : uint8_t { Round = 0 , Bevel = 1 , Miter = 2 }
static const EnumPropertyItem prop_corner_types []
static wmOperatorStatus grease_pencil_set_corner_type_exec (bContext *C, wmOperator *op)
static void grease_pencil_set_corner_type_ui (bContext *C, wmOperator *op)
static void GREASE_PENCIL_OT_set_corner_type (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 float3x3 &image_to_region, 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 float3x3 &image_to_region, const int stroke_material_index, const float stroke_hardness, const bool invert, const bool output_as_colors)

Typedef Documentation

◆ SelectionUpdateFunc

Enumeration Type Documentation

◆ CapsMode

enum class blender::ed::greasepencil::CapsMode : int8_t
strong
Enumerator
FLAT 

Switches both to Flat.

START 

Change only start.

END 

Change only end.

ROUND 

Switches both to default rounded.

Definition at line 1287 of file grease_pencil_edit.cc.

◆ ColorFlag

Enumerator
Border 
Stroke 
Fill 
Seed 
Debug 

Definition at line 58 of file grease_pencil_fill.cc.

◆ ControlPointType

enum class blender::ed::greasepencil::ControlPointType : int8_t
strong
Enumerator
JoinPoint 
HandlePoint 

Definition at line 83 of file grease_pencil_primitive.cc.

◆ CornerType

enum class blender::ed::greasepencil::CornerType : uint8_t
strong
Enumerator
Round 
Bevel 
Miter 

Definition at line 4772 of file grease_pencil_edit.cc.

◆ CyclicalMode

enum class blender::ed::greasepencil::CyclicalMode : int8_t
strong
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 806 of file grease_pencil_edit.cc.

◆ DeleteFrameMode

enum class blender::ed::greasepencil::DeleteFrameMode : int8_t
strong
Enumerator
ACTIVE_FRAME 

Delete the active frame for the current layer.

ALL_FRAMES 

Delete the active frames for all layers.

Definition at line 652 of file grease_pencil_edit.cc.

◆ DissolveMode

enum class blender::ed::greasepencil::DissolveMode : int8_t
strong
Enumerator
POINTS 

Dissolve all selected points.

BETWEEN 

Dissolve between selected points.

UNSELECT 

Dissolve unselected points.

Definition at line 500 of file grease_pencil_edit.cc.

◆ DrawingPlacementDepth

Enumerator
ObjectOrigin 
Cursor 
Surface 
Stroke 

Definition at line 125 of file ED_grease_pencil.hh.

◆ DrawingPlacementPlane

Enumerator
View 
Front 
Side 
Top 
Cursor 

Definition at line 127 of file ED_grease_pencil.hh.

◆ DuplicateCopyMode

Enumerator
All 
Active 

Definition at line 1084 of file grease_pencil_layers.cc.

◆ FillBorderMode

Enumerator
Cancel 
Ignore 

Definition at line 255 of file grease_pencil_fill.cc.

◆ FillResult

Enumerator
Success 
BorderContact 

Definition at line 250 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 608 of file ED_grease_pencil.hh.

◆ InterpolateFlipMode

Enumerator
None 
Flip 
FlipAuto 

Definition at line 758 of file ED_grease_pencil.hh.

◆ InterpolateLayerMode

Enumerator
Active 
All 

Definition at line 767 of file ED_grease_pencil.hh.

◆ LayerMoveDirection

Enumerator
Up 
Down 

Definition at line 215 of file grease_pencil_layers.cc.

◆ MergeMode

enum class blender::ed::greasepencil::MergeMode : int8_t
strong
Enumerator
Down 
Group 
All 

Definition at line 690 of file grease_pencil_layers.cc.

◆ ModalKeyMode

enum class blender::ed::greasepencil::ModalKeyMode : int8_t
strong
Enumerator
Cancel 
Confirm 
Extrude 
Panning 
Grab 
Rotate 
Scale 
IncreaseSubdivision 
DecreaseSubdivision 
ChangeRadius 
ChangeOpacity 

Definition at line 90 of file grease_pencil_primitive.cc.

◆ OperatorMode

enum class blender::ed::greasepencil::OperatorMode : int8_t
strong
Enumerator
Idle 
Extruding 
Grab 
Drag 
DragAll 
RotateAll 
ScaleAll 
ChangeRadius 
ChangeOpacity 

Definition at line 64 of file grease_pencil_primitive.cc.

◆ OutlineMode

enum class blender::ed::greasepencil::OutlineMode : int8_t
strong
Enumerator
View 
Front 
Side 
Top 
Cursor 
Camera 

Definition at line 4414 of file grease_pencil_edit.cc.

◆ PasteType

Enumerator
Active 
ByLayer 

Definition at line 2705 of file grease_pencil_edit.cc.

◆ PrimitiveType

enum class blender::ed::greasepencil::PrimitiveType : int8_t
strong
Enumerator
Line 
Polyline 
Arc 
Curve 
Box 
Circle 

Definition at line 55 of file grease_pencil_primitive.cc.

◆ RemoveFillGuidesMode

Enumerator
ActiveFrame 
AllFrames 

Definition at line 4340 of file grease_pencil_edit.cc.

◆ ReorderDirection

enum class blender::ed::greasepencil::ReorderDirection : int8_t
strong
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 1743 of file grease_pencil_edit.cc.

◆ ReprojectMode

enum class blender::ed::greasepencil::ReprojectMode : int8_t
strong
Enumerator
Front 
Side 
Top 
View 
Cursor 
Surface 
Keep 

Definition at line 123 of file ED_grease_pencil.hh.

◆ SelectSimilarMode

Enumerator
LAYER 
MATERIAL 
VERTEX_COLOR 
RADIUS 
OPACITY 

Definition at line 571 of file grease_pencil_select.cc.

◆ SeparateMode

enum class blender::ed::greasepencil::SeparateMode : int8_t
strong
Enumerator
SELECTED 
MATERIAL 
LAYER 

Definition at line 2034 of file grease_pencil_edit.cc.

◆ SimplifyMode

Enumerator
FIXED 
ADAPTIVE 
SAMPLE 
MERGE 

Definition at line 215 of file grease_pencil_edit.cc.

◆ VertexColorMode

enum class blender::ed::greasepencil::VertexColorMode : int8_t
strong
Enumerator
Stroke 
Fill 
Both 

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

Function Documentation

◆ active_grease_pencil_layer_group_poll()

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

◆ 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 237 of file grease_pencil_weight_paint.cc.

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

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

◆ add_material_from_template()

◆ add_materials_to_map()

◆ add_single_curve()

◆ add_vertex_groups()

◆ append_frame_to_key_edit_data()

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_eval_grease_pencil_data()

void blender::ed::greasepencil::apply_eval_grease_pencil_data ( const GreasePencil & eval_grease_pencil,
int eval_frame,
const IndexMask & orig_layers,
GreasePencil & orig_grease_pencil )

Applies the eval_grease_pencil onto the orig_grease_pencil at the eval_frame. The orig_grease_pencil is modified in-place. The mapping between the layers is created based on the layer name.

Parameters
eval_grease_pencilThe source Grease Pencil data.
eval_frameThe frame at which to apply the data.
orig_layersSelection of original layers to modify.
orig_grease_pencilThe destination Grease Pencil data.

Definition at line 1885 of file grease_pencil_utils.cc.

References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::bke::greasepencil::TreeNode::as_layer(), blender::bke::greasepencil::Layer::as_node(), blender::bke::attribute_name_is_anonymous(), blender::bke::CurvesGeometry::attributes_for_write(), BLI_addtail(), BLI_assert, blender::bke::AttributeAccessor::contains(), blender::IndexRange::contains(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::bke::attribute_math::convert_to_static_type(), blender::bke::Curve, blender::bke::AttributeIter::data_type, DEG_get_original(), blender::bke::GSpanAttributeWriter::finish(), blender::bke::SpanAttributeWriter< T >::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::index_mask::IndexMask::foreach_index(), blender::bke::AttributeIter::get(), GP_DRAWING, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of_try(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::array_utils::indices_are_range(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::bke::greasepencil::TreeNode::is_layer(), blender::bke::Layer, LISTBASE_FOREACH, blender::bke::greasepencil::Layer::local_transform(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), GreasePencil::material_array, GreasePencil::material_array_num, MEM_callocN(), blender::geometry::merge_layers(), bDeformGroup::name, blender::bke::AttributeIter::name, GreasePencilLayer::opacity, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove(), blender::bke::MutableAttributeAccessor::remove_anonymous(), blender::bke::greasepencil::Layer::set_local_transform(), blender::bke::SpanAttributeWriter< T >::span, blender::bke::String, blender::bke::greasepencil::Drawing::strokes_for_write(), blender::bke::greasepencil::Drawing::tag_topology_changed(), blender::GSpan::type(), CurvesGeometry::vertex_group_names, GreasePencil::vertex_group_names, and wrap().

Referenced by blender::ed::object::apply_grease_pencil_for_modifier(), blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), and blender::ed::geometry::store_result_geometry().

◆ apply_mask_as_segment_selection()

◆ apply_mask_as_selection()

◆ attributes_elements_are_equal()

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

◆ attributes_varrays_not_equal()

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

◆ attributes_varrays_span_data_equal()

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()

wmOperatorStatus blender::ed::greasepencil::bake_grease_pencil_animation_exec ( bContext * C,
wmOperator * op )
static

◆ bake_grease_pencil_animation_invoke()

◆ bake_grease_pencil_animation_poll()

◆ boundary_to_curves()

bke::CurvesGeometry blender::ed::greasepencil::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 float3x3 & image_to_region,
const int material_index,
const float hardness )
static

Definition at line 576 of file grease_pencil_fill.cc.

References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::a, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::bke::attribute_filter_from_skip_ref(), blender::ed::sculpt_paint::greasepencil::brush_using_vertex_color(), Brush::color, blender::ed::greasepencil::ImageBufferAccessor::coord_from_index(), copy_v3_v3(), blender::bke::Curve, CURVE_TYPE_POLY, ELEM, blender::bke::fill_attribute_range_default(), blender::bke::SpanAttributeWriter< T >::finish(), blender::VArray< T >::from_single(), ToolSettings::gp_paint, Brush::gpencil_settings, GPPAINT_MODE_BOTH, GPPAINT_MODE_FILL, GPPAINT_MODE_STROKE, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::ed::greasepencil::FillBoundary::offset_indices, opacity_from_input_sample(), blender::ed::greasepencil::FillBoundary::pixels, blender::bke::Point, blender::ed::greasepencil::DrawingPlacement::project_with_shift(), radius_from_input_sample(), ViewContext::region, ViewContext::rv3d, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::bke::GSpanAttributeWriter::span, blender::bke::SpanAttributeWriter< T >::span, blender::ed::greasepencil::DrawingPlacement::to_world_space(), Scene::toolsettings, blender::math::transform_point(), BrushGpencilSettings::vertex_factor, BrushGpencilSettings::vertex_mode, and blender::VecBase< T, Size >::xy().

Referenced by process_image().

◆ brush_cursor_poll()

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

◆ brush_radius_at_location()

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_radius_projection_factor()

float blender::ed::greasepencil::calculate_radius_projection_factor ( const RegionView3D * rv3d,
const float3 & old_pos,
const float3 & new_pos )
static

◆ calculate_texture_space()

◆ clamp_range()

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

◆ clipboard_free()

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

◆ clipboard_materials_remap()

◆ clipboard_paste_strokes_ex()

◆ 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 1406 of file grease_pencil_utils.cc.

References blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::curves_range(), blender::bke::CurvesGeometry::cyclic(), blender::threading::parallel_for(), blender::bke::CurvesGeometry::points_by_curve(), and blender::bke::CurvesGeometry::resize().

Referenced by blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::hard_eraser(), and blender::ed::greasepencil::trim::trim_curve_segments().

◆ control_point_colors_and_sizes()

◆ control_points_per_segment()

◆ convert_colors_to_flags()

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

◆ convert_flags_to_colors()

◆ convert_to_bezier()

void blender::ed::greasepencil::convert_to_bezier ( bke::CurvesGeometry & curves,
const IndexMask & selection,
const float threshold )
static

◆ convert_to_catmull_rom()

◆ convert_to_nurbs()

void blender::ed::greasepencil::convert_to_nurbs ( bke::CurvesGeometry & curves,
const IndexMask & selection,
const float threshold )
static

◆ convert_to_poly()

void blender::ed::greasepencil::convert_to_poly ( bke::CurvesGeometry & curves,
const IndexMask & selection )
static

◆ copy_layer()

◆ copy_layer_and_frames_to_target_object()

◆ copy_layer_group_content()

◆ copy_layer_group_recursive()

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()

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_drawing_data()

◆ create_keyframe_edit_data_selected_frames_list()

◆ 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()

◆ dilate()

◆ draw_control_points()

◆ duplicate_grease_pencil_object()

◆ 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 153 of file grease_pencil_frames.cc.

References GreasePencilFrame::drawing_index, blender::bke::greasepencil::Layer::frames_for_write(), GP_FRAME_SELECTED, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), GreasePencilLayer::runtime, and blender::bke::greasepencil::Layer::tag_frames_map_changed().

Referenced by duplicate_action_keys().

◆ editable_grease_pencil_point_selection_poll()

◆ editable_grease_pencil_poll()

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

Definition at line 59 of file grease_pencil_ops.cc.

References C, CTX_data_active_object(), ED_operator_object_active_editable_ex(), ID_IS_LINKED, and OB_GREASE_PENCIL.

Referenced by editable_grease_pencil_point_selection_poll(), editable_grease_pencil_with_region_view3d_poll(), GREASE_PENCIL_OT_active_frame_delete(), GREASE_PENCIL_OT_caps_set(), GREASE_PENCIL_OT_convert_curve_type(), GREASE_PENCIL_OT_copy(), GREASE_PENCIL_OT_cyclical_set(), GREASE_PENCIL_OT_delete(), GREASE_PENCIL_OT_delete_frame(), GREASE_PENCIL_OT_duplicate(), 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_merge(), GREASE_PENCIL_OT_material_select(), GREASE_PENCIL_OT_move_to_layer(), GREASE_PENCIL_OT_outline(), GREASE_PENCIL_OT_remove_fill_guides(), GREASE_PENCIL_OT_reset_uvs(), GREASE_PENCIL_OT_select_all(), GREASE_PENCIL_OT_select_random(), GREASE_PENCIL_OT_select_similar(), GREASE_PENCIL_OT_separate(), GREASE_PENCIL_OT_set_active_material(), GREASE_PENCIL_OT_set_corner_type(), GREASE_PENCIL_OT_set_curve_resolution(), GREASE_PENCIL_OT_set_curve_type(), GREASE_PENCIL_OT_set_handle_type(), GREASE_PENCIL_OT_set_selection_mode(), GREASE_PENCIL_OT_set_uniform_opacity(), GREASE_PENCIL_OT_set_uniform_thickness(), GREASE_PENCIL_OT_stroke_material_set(), GREASE_PENCIL_OT_stroke_merge_by_distance(), GREASE_PENCIL_OT_stroke_reorder(), GREASE_PENCIL_OT_stroke_simplify(), GREASE_PENCIL_OT_stroke_smooth(), GREASE_PENCIL_OT_stroke_split(), GREASE_PENCIL_OT_stroke_subdivide(), GREASE_PENCIL_OT_stroke_switch_direction(), grease_pencil_paste_strokes_poll(), and grease_pencil_snap_poll().

◆ editable_grease_pencil_with_region_view3d_poll()

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

◆ ensure_active_keyframe()

◆ ensure_grease_pencil_clipboard()

◆ ensure_selection_domain()

◆ ensure_valid_frame_end()

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

◆ erode()

◆ execute_trim_on_drawing()

bool blender::ed::greasepencil::execute_trim_on_drawing ( const int layer_index,
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()

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

Definition at line 3767 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()

bke::CurvesGeometry blender::ed::greasepencil::extrude_grease_pencil_curves ( const bke::CurvesGeometry & src,
const IndexMask & points_to_extrude )
static

Definition at line 3010 of file grease_pencil_edit.cc.

References blender::offset_indices::accumulate_counts_to_offsets(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::bke::attribute_filter_from_skip_ref(), blender::bke::CurvesGeometry::attributes(), blender::bke::CurvesGeometry::attributes_for_write(), BKE_defgroup_copy_list(), blender::bke::Bool, blender::index_mask::IndexMask::complement(), blender::array_utils::copy(), blender::GMutableSpan::copy_from(), blender::offset_indices::copy_group_sizes(), blender::bke::Curve, CURVE_TYPE_NURBS, blender::bke::CurvesGeometry::curve_types(), blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::curves_range(), blender::bke::CurvesGeometry::cyclic(), blender::bke::CurvesGeometry::cyclic_for_write(), blender::MutableSpan< T >::drop_back(), MutableSpan< T >::drop_front(), blender::ed::curves::ensure_selection_attribute(), extrude_grease_pencil_curves(), blender::MutableSpan< T >::fill(), blender::array_utils::fill_index_range(), blender::bke::GSpanAttributeWriter::finish(), blender::IndexRange::first(), blender::index_mask::IndexMask::foreach_index(), IndexMask::from_predicate(), blender::bke::gather_attributes(), blender::bke::curves::nurbs::gather_custom_knots(), blender::ed::curves::get_curves_selection_attribute_names(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), blender::IndexRange::last(), blender::bke::CurvesGeometry::nurbs_has_custom_knots(), NURBS_KNOT_MODE_CUSTOM, NURBS_KNOT_MODE_ENDPOINT, NURBS_KNOT_MODE_NORMAL, blender::bke::CurvesGeometry::nurbs_knots_modes(), blender::bke::CurvesGeometry::offsets_for_write(), blender::bke::Point, blender::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::points_num(), blender::offset_indices::OffsetIndices< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::index_mask::IndexMask::slice_content(), blender::bke::GSpanAttributeWriter::span, blender::bke::CurvesGeometry::update_curve_types(), blender::bke::curves::nurbs::update_custom_knot_modes(), and CurvesGeometry::vertex_group_names.

Referenced by extrude_grease_pencil_curves(), and grease_pencil_extrude_exec().

◆ 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 1115 of file grease_pencil_fill.cc.

References BKE_id_free(), BLI_assert, ViewContext::bmain, blender::ed::greasepencil::DrawingPlacement::cache_viewport_depths(), DEG_get_evaluated(), depsgraph, ViewContext::depsgraph, BrushGpencilSettings::fill_factor, fill_strokes(), fit_strokes_to_view(), Brush::gpencil_settings, invert(), OB_GREASE_PENCIL, ViewContext::obact, process_image(), ViewContext::region, render_strokes(), blender::ed::greasepencil::DrawingPlacement::use_project_to_stroke(), blender::ed::greasepencil::DrawingPlacement::use_project_to_surface(), and ViewContext::v3d.

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 1505 of file grease_pencil_geom.cc.

References BLI_bvhtree_ray_cast(), BVHTreeRayHit::dist, blender::math::distance(), ELEM, blender::MutableSpan< T >::fill(), find_curve_intersections(), blender::IndexRange::first(), FLT_MAX, blender::index_mask::IndexMask::foreach_index(), BVHTreeRayHit::index, is_cyclic(), blender::math::isect_seg_seg(), blender::IndexRange::last(), length(), BVHTreeRayHit::no, blender::math::normalize_and_get_length(), result, 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 1621 of file grease_pencil_geom.cc.

References blender::offset_indices::accumulate_counts_to_offsets(), find_curve_intersections(), find_curve_segments(), blender::IndexRange::first(), blender::index_mask::IndexMask::foreach_index(), IndexMask::from_bools(), is_cyclic(), blender::IndexRange::is_empty(), result, 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()

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,
Vector< int > & src_to_dst_layer_indices )
static

◆ fit_poly_curves()

bke::CurvesGeometry blender::ed::greasepencil::fit_poly_curves ( bke::CurvesGeometry & curves,
const IndexMask & selection,
const float threshold )
static

◆ fit_strokes_to_view()

◆ flood_fill()

◆ foreach_bone_in_armature()

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()

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>
int blender::ed::greasepencil::foreach_curve_segment ( const CurveSegmentsData & segment_data,
const int curve_index,
const IndexRange points,
Fn && fn )
static

◆ frame_clean_duplicate_exec()

◆ free_curves_2d_bvh_data()

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

◆ from_context()

◆ generate_arc_from_point_to_point()

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()

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_circle_from_point()

void blender::ed::greasepencil::generate_circle_from_point ( const float3 & pt,
const float radius,
const int corner_subdivisions,
const int src_point_index,
Vector< float3 > & r_perimeter,
Vector< int > & r_src_indices )
static

◆ generate_corner()

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

◆ generate_stroke_perimeter()

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 VArray< float > miter_angles,
const float outline_offset,
Vector< float3 > & r_perimeter,
Vector< int > & r_point_counts,
Vector< int > & r_point_indices )
static

◆ get_active_frame_for_falloff()

int blender::ed::greasepencil::get_active_frame_for_falloff ( const bke::greasepencil::Layer & layer,
const std::optional< Bounds< int > > frame_bounds,
const int current_frame )
static

◆ get_bake_targets()

Vector< Object * > blender::ed::greasepencil::get_bake_targets ( bContext & C,
Depsgraph & depsgraph,
Scene & scene )
static

◆ get_bone_deformed_vertex_group_names()

◆ get_bone_mat()

◆ get_boundary_bounds()

◆ get_control_point_type()

◆ get_editable_frames_for_layer()

◆ get_fill_material_indices()

◆ get_first_lineart_modifier()

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

◆ get_flag()

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

Definition at line 166 of file grease_pencil_fill.cc.

References flag.

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

◆ get_frame_falloff()

float blender::ed::greasepencil::get_frame_falloff ( const bool use_multi_frame_falloff,
const int frame_number,
const int active_frame,
const std::optional< Bounds< int > > frame_bounds,
const CurveMapping * falloff_curve )
static

◆ get_frame_id()

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_locked_material_indices()

◆ get_mirrored_frame_number()

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_points_to_dissolve()

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

◆ get_region_bounds()

Bounds< float2 > blender::ed::greasepencil::get_region_bounds ( const ARegion & region)
static

Definition at line 852 of file grease_pencil_fill.cc.

References get_region_bounds(), ARegion::winx, and ARegion::winy.

Referenced by fit_strokes_to_view(), and get_region_bounds().

◆ get_reordered_indices()

◆ get_root_and_tips_of_bones()

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_frame_number_bounds()

◆ get_selected_object_keyframes()

◆ get_skinnable_bones_and_deform_group_names()

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()

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()

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_breakdown_frame_poll()

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

◆ grease_pencil_active_frame_delete_exec()

◆ grease_pencil_caps_set_exec()

◆ grease_pencil_clean_loose_exec()

◆ grease_pencil_clean_loose_invoke()

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

◆ grease_pencil_context_poll()

◆ grease_pencil_convert_curve_type_exec()

◆ grease_pencil_convert_curve_type_ui()

◆ grease_pencil_copy_keyframes()

◆ grease_pencil_copy_strokes_exec()

wmOperatorStatus blender::ed::greasepencil::grease_pencil_copy_strokes_exec ( bContext * C,
wmOperator * op )
static

Definition at line 2533 of file grease_pencil_edit.cc.

References Vector< T, InlineBufferCapacity, Allocator >::append(), blender::bke::CurvesGeometry::attributes(), BKE_object_material_get(), BKE_reportf(), C, Vector< T, InlineBufferCapacity, Allocator >::clear(), blender::index_mask::IndexMask::complement(), blender::Span< T >::contains(), CTX_data_active_object(), CTX_data_scene(), blender::bke::Curve, blender::ed::greasepencil::Clipboard::ClipboardLayer::curves, blender::bke::curves_copy_curve_selection(), blender::bke::curves_new_nomain(), blender::bke::CurvesGeometry::curves_num(), ED_grease_pencil_edit_selection_domain_get(), ensure_grease_pencil_clipboard(), blender::bke::GeometrySet::from_curves(), Curves::geometry, blender::bke::GeometrySet::get_curves(), grease_pencil_copy_strokes_exec(), blender::ed::curves::has_anything_selected(), i, Material::id, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::is_empty(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), join_geometries_with_transform(), blender::ed::greasepencil::Clipboard::layers, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default(), blender::bke::AttributeAccessor::lookup_or_default(), GreasePencil::material_array_num, blender::ed::greasepencil::Clipboard::materials, blender::ed::greasepencil::Clipboard::materials_in_source_num, blender::ed::greasepencil::Clipboard::ClipboardLayer::name, blender::ed::greasepencil::Clipboard::object_to_world, OPERATOR_CANCELLED, OPERATOR_FINISHED, blender::bke::Point, blender::bke::CurvesGeometry::points_num(), blender::geometry::remove_points_and_split(), wmOperator::reports, retrieve_editable_drawings(), blender::ed::curves::retrieve_selected_curves(), blender::ed::curves::retrieve_selected_points(), RPT_INFO, ID::session_uid, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size(), and Scene::toolsettings.

Referenced by grease_pencil_copy_strokes_exec(), and GREASE_PENCIL_OT_copy().

◆ grease_pencil_cyclical_set_exec()

◆ grease_pencil_delete_breakdown_frames_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()

wmOperatorStatus 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()

◆ grease_pencil_layer_lock_all_exec()

◆ grease_pencil_layer_mask_add_exec()

◆ grease_pencil_layer_mask_poll()

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

◆ grease_pencil_layer_mask_remove_exec()

◆ grease_pencil_layer_mask_reorder_exec()

◆ grease_pencil_layer_mask_reorder_poll()

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

◆ grease_pencil_layer_move_exec()

◆ grease_pencil_layer_move_poll()

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_reveal_exec()

wmOperatorStatus 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()

void blender::ed::greasepencil::GREASE_PENCIL_OT_active_frame_delete ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_bake_grease_pencil_animation()

◆ GREASE_PENCIL_OT_caps_set()

◆ GREASE_PENCIL_OT_clean_loose()

◆ GREASE_PENCIL_OT_convert_curve_type()

◆ GREASE_PENCIL_OT_copy()

void blender::ed::greasepencil::GREASE_PENCIL_OT_copy ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_cyclical_set()

◆ GREASE_PENCIL_OT_delete()

void blender::ed::greasepencil::GREASE_PENCIL_OT_delete ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_delete_breakdown()

void blender::ed::greasepencil::GREASE_PENCIL_OT_delete_breakdown ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_delete_frame()

◆ GREASE_PENCIL_OT_dissolve()

◆ GREASE_PENCIL_OT_duplicate()

void blender::ed::greasepencil::GREASE_PENCIL_OT_duplicate ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_extrude()

void blender::ed::greasepencil::GREASE_PENCIL_OT_extrude ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_frame_clean_duplicate()

void blender::ed::greasepencil::GREASE_PENCIL_OT_frame_clean_duplicate ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_frame_duplicate()

void blender::ed::greasepencil::GREASE_PENCIL_OT_frame_duplicate ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_insert_blank_frame()

void blender::ed::greasepencil::GREASE_PENCIL_OT_insert_blank_frame ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_active()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_active ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_add()

◆ GREASE_PENCIL_OT_layer_duplicate()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_duplicate ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_duplicate_object()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_duplicate_object ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_group_add()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_group_add ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_group_color_tag()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_group_color_tag ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_group_remove()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_group_remove ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_hide()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_hide ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_isolate()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_isolate ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_lock_all()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_lock_all ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_mask_add()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_mask_add ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_mask_remove()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_mask_remove ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_mask_reorder()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_mask_reorder ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_merge()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_merge ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_move()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_move ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_remove()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_remove ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_layer_reveal()

void blender::ed::greasepencil::GREASE_PENCIL_OT_layer_reveal ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_material_copy_to_object()

void blender::ed::greasepencil::GREASE_PENCIL_OT_material_copy_to_object ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_material_hide()

void blender::ed::greasepencil::GREASE_PENCIL_OT_material_hide ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_material_isolate()

void blender::ed::greasepencil::GREASE_PENCIL_OT_material_isolate ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_material_lock_all()

void blender::ed::greasepencil::GREASE_PENCIL_OT_material_lock_all ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_material_lock_unselected()

void blender::ed::greasepencil::GREASE_PENCIL_OT_material_lock_unselected ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_material_lock_unused()

void blender::ed::greasepencil::GREASE_PENCIL_OT_material_lock_unused ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_material_reveal()

void blender::ed::greasepencil::GREASE_PENCIL_OT_material_reveal ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_material_select()

◆ GREASE_PENCIL_OT_material_unlock_all()

void blender::ed::greasepencil::GREASE_PENCIL_OT_material_unlock_all ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_move_to_layer()

◆ GREASE_PENCIL_OT_outline()

◆ GREASE_PENCIL_OT_paintmode_toggle()

void blender::ed::greasepencil::GREASE_PENCIL_OT_paintmode_toggle ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_paste()

◆ GREASE_PENCIL_OT_pen()

void blender::ed::greasepencil::GREASE_PENCIL_OT_pen ( wmOperatorType * ot)
static

◆ 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_remove_fill_guides()

◆ GREASE_PENCIL_OT_reproject()

◆ GREASE_PENCIL_OT_reset_uvs()

void blender::ed::greasepencil::GREASE_PENCIL_OT_reset_uvs ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_sculptmode_toggle()

void blender::ed::greasepencil::GREASE_PENCIL_OT_sculptmode_toggle ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_select_all()

◆ GREASE_PENCIL_OT_select_alternate()

◆ GREASE_PENCIL_OT_select_ends()

◆ GREASE_PENCIL_OT_select_less()

void blender::ed::greasepencil::GREASE_PENCIL_OT_select_less ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_select_linked()

void blender::ed::greasepencil::GREASE_PENCIL_OT_select_linked ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_select_more()

void blender::ed::greasepencil::GREASE_PENCIL_OT_select_more ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_select_random()

◆ GREASE_PENCIL_OT_select_similar()

◆ GREASE_PENCIL_OT_separate()

◆ GREASE_PENCIL_OT_set_active_material()

◆ GREASE_PENCIL_OT_set_corner_type()

◆ 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_start_point()

◆ GREASE_PENCIL_OT_set_uniform_opacity()

◆ GREASE_PENCIL_OT_set_uniform_thickness()

◆ GREASE_PENCIL_OT_snap_cursor_to_selected()

void blender::ed::greasepencil::GREASE_PENCIL_OT_snap_cursor_to_selected ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_snap_to_cursor()

◆ GREASE_PENCIL_OT_snap_to_grid()

void blender::ed::greasepencil::GREASE_PENCIL_OT_snap_to_grid ( wmOperatorType * ot)
static

◆ 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_split()

void blender::ed::greasepencil::GREASE_PENCIL_OT_stroke_split ( wmOperatorType * ot)
static

◆ 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()

void blender::ed::greasepencil::GREASE_PENCIL_OT_vertexmode_toggle ( wmOperatorType * ot)
static

◆ GREASE_PENCIL_OT_weight_invert()

◆ GREASE_PENCIL_OT_weight_sample()

◆ GREASE_PENCIL_OT_weight_toggle_direction()

◆ GREASE_PENCIL_OT_weightmode_toggle()

void blender::ed::greasepencil::GREASE_PENCIL_OT_weightmode_toggle ( wmOperatorType * ot)
static

◆ grease_pencil_outline_exec()

◆ grease_pencil_painting_poll()

◆ grease_pencil_paste_keyframes()

bool blender::ed::greasepencil::grease_pencil_paste_keyframes ( bAnimContext * ac,
const eKeyPasteOffset offset_mode,
const eKeyMergeMode merge_mode,
const KeyframeClipboard & clipboard )

Definition at line 692 of file grease_pencil_frames.cc.

References ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIMFILTER_DATA_VISIBLE, ANIMFILTER_FOREDIT, ANIMFILTER_LIST_VISIBLE, ANIMFILTER_NODUPLIS, ANIMFILTER_SEL, ANIMTYPE_GREASE_PENCIL_LAYER, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), calculate_offset(), RenderData::cfra, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::ed::greasepencil::KeyframeClipboard::copy_buffer, bAnimContext::data, bAnimContext::datatype, DEG_id_tag_update(), blender::ed::greasepencil::KeyframeClipboard::DrawingBufferItem::drawing, blender::ed::greasepencil::KeyframeClipboard::LayerBufferItem::drawing_buffers, blender::ed::greasepencil::KeyframeClipboard::DrawingBufferItem::duration, filter, blender::ed::greasepencil::KeyframeClipboard::first_frame, blender::ed::greasepencil::KeyframeClipboard::LayerBufferItem::first_frame, blender::ed::greasepencil::KeyframeClipboard::DrawingBufferItem::frame_number, blender::bke::greasepencil::Layer::frames(), GreasePencil::id, ID_RECALC_GEOMETRY, KEYFRAME_PASTE_MERGE_MIX, KEYFRAME_PASTE_MERGE_OVER, KEYFRAME_PASTE_MERGE_OVER_RANGE, KEYFRAME_PASTE_MERGE_OVER_RANGE_ALL, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::keys(), blender::ed::greasepencil::KeyframeClipboard::DrawingBufferItem::keytype, blender::ed::greasepencil::KeyframeClipboard::last_frame, blender::ed::greasepencil::KeyframeClipboard::LayerBufferItem::last_frame, LISTBASE_FOREACH, Scene::r, and bAnimContext::scene.

Referenced by actkeys_paste_exec().

◆ grease_pencil_paste_strokes_exec()

wmOperatorStatus blender::ed::greasepencil::grease_pencil_paste_strokes_exec ( bContext * C,
wmOperator * op )
static

Definition at line 2710 of file grease_pencil_edit.cc.

References Active, blender::bke::greasepencil::TreeNode::as_layer(), BKE_report(), BLI_assert, BLI_assert_unreachable, blender::bke::Bool, ByLayer, C, clipboard_paste_strokes_ex(), CTX_data_active_object(), CTX_data_main(), CTX_data_scene(), blender::ed::greasepencil::Clipboard::ClipboardLayer::curves, DEG_id_tag_update(), blender::ed::greasepencil::MutableDrawingInfo::drawing, ED_grease_pencil_edit_selection_domain_get(), ensure_active_keyframe(), ensure_grease_pencil_clipboard(), blender::ed::curves::ensure_selection_attribute(), blender::ed::curves::fill_selection_false(), blender::bke::GSpanAttributeWriter::finish(), grease_pencil_paste_strokes_exec(), GreasePencil::id, ID_RECALC_GEOMETRY, blender::math::invert(), blender::bke::greasepencil::TreeNode::is_layer(), blender::ed::greasepencil::Clipboard::layers, NA_EDITED, blender::ed::greasepencil::Clipboard::ClipboardLayer::name, NC_GEOM, NC_GPENCIL, ND_DATA, blender::ed::greasepencil::Clipboard::object_to_world, OPERATOR_CANCELLED, OPERATOR_FINISHED, blender::threading::parallel_for_each(), paste_all_strokes_from_clipboard(), wmOperator::ptr, wmOperator::reports, retrieve_editable_drawings(), retrieve_editable_drawings_from_layer(), RNA_boolean_get(), RNA_enum_get(), RPT_ERROR, RPT_WARNING, blender::bke::GSpanAttributeWriter::span, blender::bke::greasepencil::Drawing::strokes_for_write(), blender::bke::greasepencil::Layer::to_object_space(), Scene::toolsettings, and WM_event_add_notifier().

Referenced by GREASE_PENCIL_OT_paste(), and grease_pencil_paste_strokes_exec().

◆ grease_pencil_paste_strokes_poll()

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

◆ grease_pencil_pen_exit()

◆ grease_pencil_pen_invoke()

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

◆ grease_pencil_pen_modal()

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

◆ grease_pencil_poll_vertex_cursor()

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

◆ grease_pencil_poll_weight_cursor()

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

◆ grease_pencil_primitive_cancel()

◆ grease_pencil_primitive_cancel_opacity()

◆ grease_pencil_primitive_cancel_radius()

◆ grease_pencil_primitive_change_opacity()

◆ grease_pencil_primitive_change_radius()

◆ 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()

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

Definition at line 296 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()

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

◆ grease_pencil_primitive_init_opacity()

◆ grease_pencil_primitive_init_radius()

◆ grease_pencil_primitive_invoke()

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

Definition at line 715 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_brush(), BKE_object_material_index_get(), BKE_paint_brush(), BLI_assert, blender::ed::greasepencil::PrimitiveToolOperation::brush, C, blender::ed::greasepencil::DrawingPlacement::cache_viewport_depths(), calculate_texture_space(), RenderData::cfra, Brush::color, blender::ed::greasepencil::PrimitiveToolOperation::control_points, control_points_per_segment(), copy_v3_v3(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_wm_view3d(), CTX_wm_window(), GP_Sculpt_Settings::cur_primitive, BrushGpencilSettings::curve_jitter, Brush::curve_rand_hue, BrushGpencilSettings::curve_rand_pressure, Brush::curve_rand_saturation, BrushGpencilSettings::curve_rand_strength, BrushGpencilSettings::curve_rand_uv, Brush::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, BrushGpencilSettings::flag, GP_Sculpt_Settings::flag, MaterialGPencilStyle::flag, wmOperator::flag, blender::RandomNumberGenerator::from_random_seed(), blender::RandomNumberGenerator::get_float(), GP_BRUSH_GROUP_RANDOM, GP_MATERIAL_FILL_SHOW, ToolSettings::gp_paint, ToolSettings::gp_sculpt, GP_SCULPT_SETT_FLAG_PRIMITIVE_CURVE, Material::gp_style, GP_TOOL_FLAG_PAINT_ONBACK, ToolSettings::gpencil_flags, 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, blender::ed::greasepencil::PrimitiveToolOperation::on_back, 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, RNA_enum_get(), RNA_int_get(), blender::ed::greasepencil::PrimitiveToolOperation::rng, ARegion::runtime, ViewContext::rv3d, ViewContext::scene, blender::ed::greasepencil::PrimitiveToolOperation::segments, blender::ed::greasepencil::PrimitiveToolOperation::settings, blender::ed::greasepencil::PrimitiveToolOperation::softness, blender::ed::greasepencil::PrimitiveToolOperation::start_position_2d, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_hue_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_opacity_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_radius_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_rotation_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_sat_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_val_factor, blender::ed::greasepencil::PrimitiveToolOperation::subdivision, blender::ed::greasepencil::PrimitiveToolOperation::texture_space, Scene::toolsettings, blender::ed::greasepencil::PrimitiveToolOperation::type, blender::ed::greasepencil::PrimitiveToolOperation::use_fill, blender::ed::greasepencil::DrawingPlacement::use_project_to_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()

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

◆ 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()

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

Definition at line 462 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_brush_color_jitter_get_settings(), BKE_curvemapping_evaluateF(), blender::ed::greasepencil::PrimitiveToolOperation::brush, GP_Sculpt_Settings::cur_primitive, blender::math::distance(), blender::ed::greasepencil::PrimitiveToolOperation::drawing, blender::bke::fill_attribute_range_default(), blender::bke::SpanAttributeWriter< T >::finish(), BrushGpencilSettings::flag, GP_Sculpt_Settings::flag, float, blender::IndexRange::from_single(), GP_BRUSH_GROUP_RANDOM, ToolSettings::gp_paint, ToolSettings::gp_sculpt, GP_SCULPT_SETT_FLAG_PRIMITIVE_CURVE, grease_pencil_primitive_curve_points_number(), blender::IndexRange::index_range(), blender::ed::greasepencil::PrimitiveToolOperation::on_back, blender::bke::greasepencil::Drawing::opacities_for_write(), opacity_from_input_sample(), GpPaint::paint, blender::ed::greasepencil::PrimitiveToolOperation::placement, blender::bke::Point, primitive_calulate_curve_positions_2d(), blender::ed::greasepencil::DrawingPlacement::project(), blender::bke::greasepencil::Drawing::radii_for_write(), radius_from_input_sample(), randomize_color(), randomize_opacity(), randomize_radius(), randomize_rotation(), blender::ed::greasepencil::PrimitiveToolOperation::region, resize_single_curve(), ViewContext::rv3d, ViewContext::scene, blender::bke::greasepencil::Drawing::set_texture_matrices(), blender::ed::greasepencil::PrimitiveToolOperation::settings, MutableSpan< T >::slice(), blender::bke::SpanAttributeWriter< T >::span, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_hue_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_opacity_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_radius_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_rotation_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_sat_factor, blender::ed::greasepencil::PrimitiveToolOperation::stroke_random_val_factor, 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, BrushGpencilSettings::uv_random, 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_remove_fill_guides_exec()

◆ grease_pencil_reproject_exec()

wmOperatorStatus blender::ed::greasepencil::grease_pencil_reproject_exec ( bContext * C,
wmOperator * op )
static

Definition at line 3206 of file grease_pencil_edit.cc.

References BKE_scene_graph_update_for_newframe(), C, calculate_radius_projection_factor(), RenderData::cfra, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_scene(), CTX_wm_region(), CTX_wm_view3d(), blender::bke::Curve, CURVE_TYPE_BEZIER, blender::bke::curves::curve_type_point_selection(), DEG_get_ctime(), DEG_id_tag_update(), depsgraph, blender::ed::greasepencil::MutableDrawingInfo::drawing, blender::ed::curves::duplicate_curves(), blender::ed::curves::duplicate_points(), ED_grease_pencil_edit_selection_domain_get(), ED_view3d_project_float_global(), ED_view3d_win_to_ray_clipped(), blender::index_mask::IndexMask::foreach_index(), IndexMask::from_intersection(), blender::ed::curves::get_curves_selection_attribute_names(), grease_pencil_reproject_exec(), GreasePencil::id, ID_RECALC_GEOMETRY, blender::math::invert(), blender::index_mask::IndexMask::is_empty(), blender::ed::greasepencil::MutableDrawingInfo::layer_index, NC_GEOM, ND_DATA, blender::math::normalize(), OPERATOR_FINISHED, blender::threading::parallel_for_each(), params, blender::bke::Point, wmOperator::ptr, Scene::r, ARegion::regiondata, blender::ed::greasepencil::DrawingPlacement::reproject(), retrieve_editable_and_selected_elements(), retrieve_editable_drawings(), retrieve_editable_drawings_grouped_per_frame(), retrieve_editable_points(), blender::ed::curves::retrieve_selected_points(), RNA_boolean_get(), RNA_enum_get(), RNA_float_get(), SCE_SNAP_TARGET_ALL, blender::ed::transform::snap_object_context_create(), blender::ed::transform::snap_object_context_destroy(), blender::ed::transform::snap_object_project_ray(), blender::bke::greasepencil::Drawing::strokes_for_write(), Surface, blender::bke::greasepencil::Drawing::tag_positions_changed(), blender::bke::greasepencil::Drawing::tag_topology_changed(), blender::bke::greasepencil::Layer::to_world_space(), Scene::toolsettings, blender::math::transform_point(), V3D_PROJ_RET_OK, V3D_PROJ_TEST_NOP, and WM_event_add_notifier().

Referenced by GREASE_PENCIL_OT_reproject(), and grease_pencil_reproject_exec().

◆ grease_pencil_reproject_ui()

◆ 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_corner_type_exec()

◆ grease_pencil_set_corner_type_ui()

◆ 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_start_point_exec()

◆ grease_pencil_set_uniform_opacity_exec()

◆ grease_pencil_set_uniform_thickness_exec()

◆ grease_pencil_simplify_ui()

◆ grease_pencil_snap_compute_centroid()

◆ 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_split_exec()

◆ grease_pencil_stroke_switch_direction_exec()

◆ grease_pencil_stroke_trim_exec()

◆ grease_pencil_texture_gradient_exec()

wmOperatorStatus blender::ed::greasepencil::grease_pencil_texture_gradient_exec ( bContext * C,
wmOperator * op )
static

Definition at line 3787 of file grease_pencil_edit.cc.

References BKE_gpencil_material_settings(), C, blender::math::cross(), CTX_data_active_object(), CTX_data_scene(), CTX_wm_region(), blender::bke::Curve, blender::bke::greasepencil::Drawing::curve_plane_normals(), DEG_id_tag_update(), blender::math::dot(), blender::ed::greasepencil::MutableDrawingInfo::drawing, ED_view3d_win_to_3d_on_plane(), expand_4x2_mat(), blender::index_mask::IndexMask::foreach_index(), blender::math::from_rotation(), blender::math::from_scale(), GP_MATERIAL_GRADIENT_RADIAL, MaterialGPencilStyle::gradient_type, grease_pencil_texture_gradient_exec(), GreasePencil::id, ID_RECALC_GEOMETRY, blender::MatBase< float, 3, 2 >::identity(), blender::index_mask::IndexMask::is_empty(), blender::ed::greasepencil::MutableDrawingInfo::layer_index, blender::math::length_squared(), NC_GEOM, ND_DATA, normals, OPERATOR_RUNNING_MODAL, blender::threading::parallel_for_each(), pos, wmOperator::ptr, retrieve_editable_and_selected_strokes(), retrieve_editable_drawings(), RNA_int_get(), blender::bke::greasepencil::Drawing::set_texture_matrices(), blender::index_mask::IndexMask::size(), blender::bke::greasepencil::Drawing::strokes(), MaterialGPencilStyle::texture_angle, MaterialGPencilStyle::texture_offset, MaterialGPencilStyle::texture_scale, blender::bke::greasepencil::Layer::to_world_space(), blender::math::transform_direction(), blender::math::transform_point(), blender::math::transpose(), and WM_event_add_notifier().

Referenced by GREASE_PENCIL_OT_texture_gradient(), and 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)

◆ has_editable_layer()

bool blender::ed::greasepencil::has_editable_layer ( const GreasePencil & grease_pencil)

◆ insert_blank_frame_exec()

◆ insert_selected_values()

◆ invert_fill()

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

◆ join_curves()

◆ join_geometries_with_transform()

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

◆ join_geometries_with_transforms()

◆ join_object_with_active()

void blender::ed::greasepencil::join_object_with_active ( Main & bmain,
Object & ob_src,
Object & ob_dst,
VectorSet< Material * > & materials )
static

Definition at line 5115 of file grease_pencil_edit.cc.

References AnimData::action, add_materials_to_map(), add_vertex_groups(), GreasePencil::adt, Object::adt, ADT_MERGECOPY_KEEP_DST, GreasePencil::attribute_storage, BKE_animdata_copy(), BKE_animdata_merge_copy(), BKE_animsys_fix_rna_path_rename(), BKE_fcurves_main_cb(), BLI_assert, BLI_strdup(), blender::StringRefNull::c_str(), blender::bke::greasepencil::copy_drawing_array(), copy_layer_group_content(), Object::data, DEG_id_tag_update(), GreasePencil::drawing_array, GreasePencil::drawing_array_num, GreasePencilFrame::drawing_index, FCurve::driver, DRIVER_TARGETS_LOOPER_END, DRIVER_TARGETS_USED_LOOPER_BEGIN, ELEM, blender::bke::greasepencil::Layer::frames_for_write(), IndexRange::from_begin_size(), GP_DRAWING, bAction::id, GreasePencil::id, Object::id, ID_RECALC_ANIMATION_NO_FLUSH, blender::math::invert(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), join_object_with_active(), Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::keys(), LISTBASE_FOREACH, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr(), GreasePencilLayer::masks, MEM_malloc_arrayN(), MEM_SAFE_FREE, merge_attributes(), OB_GREASE_PENCIL, GreasePencilLayer::parent, remap_material_indices(), remap_vertex_groups(), FCurve::rna_path, blender::MutableSpan< T >::slice(), blender::bke::greasepencil::Drawing::strokes_for_write(), blender::bke::greasepencil::Layer::to_world_space(), GreasePencilDrawingBase::type, Object::type, ChannelDriver::variables, GreasePencil::vertex_group_names, and wrap().

Referenced by ED_grease_pencil_join_objects_exec(), and join_object_with_active().

◆ keymap_grease_pencil_brush_stroke()

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

◆ keymap_grease_pencil_brush_stroke_poll()

◆ keymap_grease_pencil_edit_mode()

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

◆ keymap_grease_pencil_fill_tool()

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

◆ keymap_grease_pencil_fill_tool_poll()

◆ keymap_grease_pencil_paint_mode()

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

◆ keymap_grease_pencil_sculpt_mode()

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

◆ keymap_grease_pencil_selection()

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

◆ keymap_grease_pencil_vertex_paint_mode()

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

◆ keymap_grease_pencil_weight_paint_mode()

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

◆ lookup_or_add_deform_group_index()

◆ mark_borders()

◆ material_enum_itemf()

const EnumPropertyItem * blender::ed::greasepencil::material_enum_itemf ( bContext * C,
PointerRNA * ,
PropertyRNA * ,
bool * r_free )
static

◆ material_isolate_exec()

◆ merge_attributes()

◆ 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, InlineBufferCapacity, 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, i, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of_try(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::math::invert(), 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()

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()

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()

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()

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()

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()

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()

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()

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 )

◆ normalize_vertex_weights_try()

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()

◆ paintmode_toggle_exec()

◆ paintmode_toggle_poll()

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

◆ paste_all_strokes_from_clipboard()

◆ pixel_radius_to_world_space_radius()

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()

◆ primitive_calulate_curve_positions()

◆ primitive_calulate_curve_positions_2d()

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()

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 float3x3 & image_to_region,
const int stroke_material_index,
const float stroke_hardness,
const bool invert,
const bool output_as_colors )
static

◆ radius_from_input_sample()

◆ 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().

Referenced by blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::compute_piecewise_linear_falloff(), and blender::ed::sculpt_paint::greasepencil::simplify_opacities().

◆ randomize_color()

ColorGeometry4f blender::ed::greasepencil::randomize_color ( const BrushGpencilSettings & settings,
const std::optional< BrushColorJitterSettings > & jitter,
float stroke_hue_factor,
float stroke_saturation_factor,
float stroke_value_factor,
float distance,
ColorGeometry4f color,
float pressure )

Calculate a randomized opacity value for a point.

Parameters
stroke_hue_factorRandom seed value in [-1, 1] per stroke for color hue.
stroke_saturation_factorRandom seed value in [-1, 1] per stroke for color saturation.
stroke_value_factorRandom seed value in [-1, 1] per stroke for color value.
distanceScreen-space length in pixels along the curve.
colorBase color to be randomized.
pressurePressure factor.

Definition at line 132 of file grease_pencil_randomize.cc.

References BKE_paint_randomize_color(), distance(), BrushGpencilSettings::flag, and GP_BRUSH_GROUP_RANDOM.

Referenced by grease_pencil_primitive_update_curves(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_extension_sample(), and blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_start_sample().

◆ randomize_opacity()

float blender::ed::greasepencil::randomize_opacity ( const BrushGpencilSettings & settings,
float stroke_factor,
float distance,
float opacity,
float pressure )

◆ randomize_radius()

float blender::ed::greasepencil::randomize_radius ( const BrushGpencilSettings & settings,
float stroke_factor,
float distance,
float radius,
float pressure )

◆ randomize_rotation() [1/2]

◆ randomize_rotation() [2/2]

float blender::ed::greasepencil::randomize_rotation ( const BrushGpencilSettings & settings,
blender::RandomNumberGenerator & rng,
float stroke_factor,
float pressure )

Calculate a randomized rotation for a point.

Parameters
rngRandom number generator instance.
stroke_factorRandom seed value in [-1, 1] per stroke.
pressurePressure factor.

Definition at line 107 of file grease_pencil_randomize.cc.

References BKE_curvemapping_evaluateF(), BrushGpencilSettings::curve_rand_uv, BrushGpencilSettings::flag, BrushGpencilSettings::flag2, blender::RandomNumberGenerator::get_float(), GP_BRUSH_GROUP_RANDOM, GP_BRUSH_USE_UV_AT_STROKE, GP_BRUSH_USE_UV_RAND_PRESS, blender::math::interpolate(), blender::math::numbers::pi, and BrushGpencilSettings::uv_random.

◆ remap_material_indices()

◆ remap_vertex_groups()

◆ remove_all_selected_frames()

◆ remove_fill_guides()

bool blender::ed::greasepencil::remove_fill_guides ( bke::CurvesGeometry & curves)

◆ remove_unused_materials()

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

◆ render_strokes()

Image * blender::ed::greasepencil::render_strokes ( const ViewContext & view_context,
const Brush & brush,
const Scene & scene,
const bke::greasepencil::Layer & layer,
const VArray< bool > & boundary_layers,
const Span< DrawingInfo > src_drawings,
const int2 & image_size,
const std::optional< float > alpha_threshold,
const float2 & fill_point,
const ExtensionData & extensions,
const ed::greasepencil::DrawingPlacement & placement,
const float2 & zoom,
const float2 & offset )
static

Definition at line 1001 of file grease_pencil_fill.cc.

References attr_material_index, blender::bke::CurvesGeometry::attributes(), BLI_assert, BLI_SCOPED_DEFER, ViewContext::bmain, blender::ed::greasepencil::image_render::clear_projection_matrix(), blender::ed::greasepencil::image_render::compute_view_matrices(), blender::bke::Curve, draw_boundary_color, blender::ed::greasepencil::image_render::draw_dot(), blender::ed::greasepencil::image_render::draw_grease_pencil_strokes(), blender::ed::greasepencil::image_render::draw_lines(), draw_seed_color, blender::ed::greasepencil::ExtensionData::ends, BrushGpencilSettings::fill_draw_mode, VArray< T >::from_single(), get_stroke_colors(), get_visible_boundary_strokes(), GP_FILL_DMODE_CONTROL, Brush::gpencil_settings, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_depth_mask(), blender::ed::greasepencil::image_render::image_render_begin(), blender::ed::greasepencil::image_render::image_render_end(), blender::IndexRange::is_empty(), blender::ed::greasepencil::ExtensionData::lines, blender::bke::AttributeAccessor::lookup_or_default(), OB_GREASE_PENCIL, ViewContext::obact, blender::ed::greasepencil::DrawingPlacement::project(), ViewContext::region, blender::ed::greasepencil::image_render::region_init(), blender::ed::greasepencil::image_render::region_reset(), render_strokes(), ViewContext::rv3d, blender::ed::greasepencil::image_render::set_projection_matrix(), blender::IndexRange::size(), blender::ed::greasepencil::ExtensionData::starts, blender::bke::greasepencil::Layer::to_world_space(), and RegionView3D::viewmat.

Referenced by fill_strokes(), and render_strokes().

◆ resize_single_curve()

◆ retrieve_editable_and_all_selected_points()

◆ retrieve_editable_and_selected_elements()

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

◆ retrieve_editable_and_selected_fill_strokes()

◆ retrieve_editable_and_selected_points()

◆ retrieve_editable_and_selected_strokes()

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

◆ retrieve_editable_drawings()

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

Definition at line 671 of file grease_pencil_utils.cc.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), RenderData::cfra, get_editable_frames_for_layer(), GP_USE_MULTI_FRAME_EDITING, ToolSettings::gpencil_flags, blender::Span< T >::index_range(), Scene::r, and Scene::toolsettings.

Referenced by add_armature_automatic_weights(), add_armature_envelope_weights(), ed_grease_pencil_select_pick(), ED_view3d_minmax_verts(), blender::ed::transform::gizmo_3d_foreach_selected(), gpencil_stroke_subdivide_exec(), grease_pencil_caps_set_exec(), grease_pencil_clean_loose_exec(), grease_pencil_convert_curve_type_exec(), grease_pencil_copy_strokes_exec(), grease_pencil_cyclical_set_exec(), grease_pencil_delete_exec(), grease_pencil_dissolve_exec(), grease_pencil_duplicate_exec(), blender::ed::sculpt_paint::grease_pencil_erase_box_exec(), blender::ed::sculpt_paint::grease_pencil_erase_lasso_exec(), grease_pencil_extrude_exec(), grease_pencil_material_lock_unselected_exec(), grease_pencil_material_select_exec(), grease_pencil_move_to_layer_exec(), grease_pencil_outline_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_corner_type_exec(), grease_pencil_set_curve_resolution_exec(), grease_pencil_set_curve_type_exec(), grease_pencil_set_handle_type_exec(), grease_pencil_set_start_point_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_split_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::greasepencil::GreasePencilPenToolOperation::initialize(), blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::TintOperation::on_stroke_begin(), select_all_exec(), select_alternate_exec(), select_linked_exec(), select_similar_by_layer(), select_similar_by_value(), stroke_trim_execute(), 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()

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

Definition at line 740 of file grease_pencil_utils.cc.

References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BKE_curvemapping_init(), RenderData::cfra, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), GP_Sculpt_Settings::cur_falloff, GP_Sculpt_Settings::flag, blender::bke::greasepencil::Layer::frames(), get_active_frame_for_falloff(), get_frame_falloff(), get_selected_frame_number_bounds(), ToolSettings::gp_sculpt, GP_SCULPT_SETT_FLAG_FRAME_FALLOFF, GP_USE_MULTI_FRAME_EDITING, ToolSettings::gpencil_flags, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_of(), blender::Span< T >::index_range(), Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), Scene::r, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size(), and Scene::toolsettings.

Referenced by grease_pencil_reproject_exec(), blender::ed::sculpt_paint::greasepencil::AverageWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::BlurWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::DrawWeightPaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::SmearWeightPaintOperation::on_stroke_begin(), selection_update(), and vertex_group_normalize_exec().

◆ 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,
const int handle_display,
IndexMaskMemory & memory )

◆ retrieve_visible_bezier_handle_points()

◆ retrieve_visible_bezier_handle_strokes()

◆ retrieve_visible_bezier_points()

IndexMask blender::ed::greasepencil::retrieve_visible_bezier_points ( Object & object,
const bke::greasepencil::Drawing & drawing,
IndexMaskMemory & memory )

◆ retrieve_visible_bezier_strokes()

◆ retrieve_visible_drawings()

◆ retrieve_visible_points()

◆ retrieve_visible_strokes()

◆ sculpt_poll_view3d()

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

◆ sculptmode_toggle_exec()

◆ sculptmode_toggle_poll()

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

◆ select_all_exec()

◆ select_all_frames()

◆ select_alternate_exec()

◆ select_ends_exec()

◆ select_frame()

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 217 of file grease_pencil_frames.cc.

References blender::bke::greasepencil::Layer::frames_for_write(), Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr(), select_frame(), and blender::bke::greasepencil::Layer::tag_frames_map_changed().

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

◆ select_frames_at()

◆ select_frames_range()

◆ select_frames_region()

◆ select_layer_channel()

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

Definition at line 98 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()

◆ select_similar_exec()

◆ selection_update()

◆ set_flag()

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

Definition at line 171 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()

◆ set_start_point()

◆ simplify_fixed()

◆ snap_8_angles()

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

Definition at line 922 of file grease_pencil_primitive.cc.

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

Referenced by grease_pencil_primitive_extruding_update().

◆ snap_diagonals()

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

Definition at line 908 of file grease_pencil_primitive.cc.

References length(), and sign().

Referenced by grease_pencil_primitive_extruding_update().

◆ snap_diagonals_box()

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

Definition at line 915 of file grease_pencil_primitive.cc.

References abs, and sign().

Referenced by grease_pencil_primitive_extruding_update().

◆ snap_selected_frames()

◆ stroke_opacities()

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()

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()

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_trim_execute()

◆ subdivide_last_segement()

◆ toggle_caps()

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

◆ toggle_weight_tool_direction_exec()

◆ toggle_weight_tool_direction_poll()

◆ vertex_group_normalize_all_exec()

◆ vertex_group_normalize_exec()

◆ vertex_group_smooth_exec()

◆ vertexmode_toggle_exec()

◆ vertexmode_toggle_poll()

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

◆ weight_sample_invoke()

wmOperatorStatus blender::ed::greasepencil::weight_sample_invoke ( bContext * C,
wmOperator * ,
const wmEvent * event )
static

Definition at line 448 of file grease_pencil_weight_paint.cc.

References blender::ed::greasepencil::ClosestGreasePencilDrawing::active_defgroup_index, b, BKE_brush_weight_set(), BKE_defgroup_name_index(), BKE_object_defgroup_active_index_get(), BKE_object_defgroup_list(), BKE_paint_brush(), BLI_findlink(), C, blender::math::clamp(), closest(), blender::ed::curves::closest_elem_find_screen_space(), CTX_data_ensure_evaluated_depsgraph(), Object::data, DEG_get_evaluated(), depsgraph, ViewContext::depsgraph, blender::ed::curves::FindClosestData::distance_sq, blender::ed::greasepencil::ClosestGreasePencilDrawing::drawing, blender::ed::greasepencil::DrawingInfo::drawing, ED_view3d_ob_project_mat_get_from_obmat(), ED_view3d_viewcontext_init(), blender::ed::greasepencil::ClosestGreasePencilDrawing::elem, blender::bke::crazyspace::get_evaluated_grease_pencil_drawing_deformation(), ToolSettings::gp_weightpaint, i, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), init(), blender::index_mask::IndexMask::is_empty(), blender::ed::greasepencil::DrawingInfo::layer_index, wmEvent::mval, NA_EDITED, bDeformGroup::name, NC_BRUSH, ViewContext::obact, OPERATOR_CANCELLED, OPERATOR_FINISHED, GpWeightPaint::paint, blender::threading::parallel_reduce(), blender::bke::Point, blender::bke::crazyspace::GeometryDeformation::positions, retrieve_visible_drawings(), retrieve_visible_points(), ViewContext::rv3d, ViewContext::scene, blender::bke::greasepencil::Drawing::strokes(), blender::bke::greasepencil::Layer::to_world_space(), Scene::toolsettings, blender::bke::varray_for_deform_verts(), CurvesGeometry::vertex_group_names, and WM_main_add_notifier().

Referenced by GREASE_PENCIL_OT_weight_sample().

◆ weightmode_toggle_exec()

◆ weightmode_toggle_poll()

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

◆ wrap_dir_3n()

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

Definition at line 439 of file grease_pencil_fill.cc.

References num_directions.

Referenced by build_fill_boundary().

Variable Documentation

◆ attr_is_fill_guide

const char* blender::ed::greasepencil::attr_is_fill_guide = ".is_fill_guide"
constexpr

Definition at line 773 of file grease_pencil_fill.cc.

Referenced by get_boundary_bounds(), and 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 33 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 113 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 55 of file grease_pencil_fill.cc.

Referenced by render_strokes().

◆ draw_seed_color

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

Definition at line 56 of file grease_pencil_fill.cc.

Referenced by render_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},
}

Definition at line 217 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 1041 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 73 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 81 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 113 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 121 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 89 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 97 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 105 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 33 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 65 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 57 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 49 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 41 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

blender::Mutex blender::ed::greasepencil::grease_pencil_clipboard_lock

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

Definition at line 2453 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 366 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 367 of file grease_pencil_fill.cc.

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

◆ prop_corner_types

const EnumPropertyItem blender::ed::greasepencil::prop_corner_types[]
static
Initial value:
= {
{int(CornerType::Round), "ROUND", 0, "Round", ""},
{int(CornerType::Bevel), "FLAT", 0, "Flat", ""},
{int(CornerType::Miter), "SHARP", 0, "Sharp", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 4778 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_set_corner_type().

◆ 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 815 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"},
"BETWEEN",
0,
"Dissolve Between",
"Dissolve points between selected points"},
"UNSELECT",
0,
"Dissolve Unselect",
"Dissolve all unselected points"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 509 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_dissolve().

◆ prop_grease_pencil_vertex_mode

◆ prop_greasepencil_deleteframe_types

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

Definition at line 659 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_delete_frame().

◆ prop_outline_modes

const EnumPropertyItem blender::ed::greasepencil::prop_outline_modes[]
static
Initial value:
= {
{int(OutlineMode::View), "VIEW", 0, "View", ""},
{int(OutlineMode::Front), "FRONT", 0, "Front", ""},
{int(OutlineMode::Side), "SIDE", 0, "Side", ""},
{int(OutlineMode::Top), "TOP", 0, "Top", ""},
{int(OutlineMode::Cursor), "CURSOR", 0, "Cursor", ""},
{int(OutlineMode::Camera), "CAMERA", 0, "Camera", ""},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 4423 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_outline().

◆ 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 2043 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_separate().

◆ prop_simplify_modes

const EnumPropertyItem blender::ed::greasepencil::prop_simplify_modes[]
static
Initial value:
= {
"FIXED",
0,
"Fixed",
"Delete alternating vertices in the stroke, except extremes"},
"ADAPTIVE",
0,
"Adaptive",
"Use a Ramer-Douglas-Peucker algorithm to simplify the stroke preserving main shape"},
"SAMPLE",
0,
"Sample",
"Re-sample the stroke with segments of the specified length"},
"MERGE",
0,
"Merge",
"Simplify the stroke by merging vertices closer than a given distance"},
{0, nullptr, 0, nullptr, nullptr},
}

Definition at line 222 of file grease_pencil_edit.cc.

Referenced by GREASE_PENCIL_OT_stroke_simplify().

◆ select_similar_mode_items

const EnumPropertyItem blender::ed::greasepencil::select_similar_mode_items[]
static
Initial value:

Definition at line 579 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 107 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 108 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 104 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 105 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 106 of file grease_pencil_primitive.cc.

Referenced by control_point_colors_and_sizes().