23class GeometryFieldInput;
24namespace greasepencil {
50 const Curves *curves_id_ =
nullptr;
94 return grease_pencil_;
114 return grease_pencil_;
156 const void *geometry_;
159 const Curves *curves_id_ =
nullptr;
164 int grease_pencil_layer_index_;
202 return grease_pencil_layer_index_;
205 std::optional<AttributeAccessor>
attributes()
const;
274 std::optional<std::string> socket_inspection_name_;
281 name_(std::move(name)),
292 auto field_input = std::make_shared<AttributeFieldInput>(
333 auto field_input = std::make_shared<AttributeExistsFieldInput>(std::move(name), type);
343 std::string layer_name_;
348 layer_name_(std::move(layer_name))
423 return value_field_domain_;
463 attributes, field_context, {attribute_id}, domain,
selection, {field});
static const CPPType & get()
const Curves * curves_id() const
const CurvesGeometry & curves() const
CurvesFieldContext(const CurvesGeometry &curves, AttrDomain domain)
AttrDomain domain() const
std::optional< AttrDomain > preferred_domain(const GeometryComponent &) const override
void for_each_field_input_recursive(FunctionRef< void(const FieldInput &)> fn) const override
EvaluateOnDomainInput(fn::GField field, AttrDomain domain)
GVArray get_varray_for_context(const bke::GeometryFieldContext &context, const IndexMask &) const final
const CurvesGeometry * curves() const
std::optional< AttributeAccessor > attributes() const
AttrDomain domain() const
const Mesh * mesh() const
int grease_pencil_layer_index() const
const Instances * instances() const
const PointCloud * pointcloud() const
GeometryFieldContext(const GeometryFieldContext &other, AttrDomain domain)
const greasepencil::Drawing * grease_pencil_layer_drawing() const
const void * geometry() const
const GreasePencil * grease_pencil() const
const CurvesGeometry * curves_or_strokes() const
GeometryComponent::Type type() const
const Curves * curves_id() const
const GreasePencil & grease_pencil() const
GreasePencilFieldContext(const GreasePencil &grease_pencil)
const GreasePencil & grease_pencil() const
GreasePencilLayerFieldContext(const GreasePencil &grease_pencil, AttrDomain domain, int layer_index)
GVArray get_varray_for_input(const fn::FieldInput &field_input, const IndexMask &mask, ResourceScope &scope) const
AttrDomain domain() const
const Instances & instances() const
InstancesFieldContext(const Instances &instances)
const Mesh & mesh() const
AttrDomain domain() const
MeshFieldContext(const Mesh &mesh, AttrDomain domain)
PointCloudFieldContext(const PointCloud &pointcloud)
const PointCloud & pointcloud() const
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
bool attribute_name_is_anonymous(const StringRef name)
std::optional< AttrDomain > try_detect_field_domain(const GeometryComponent &component, const fn::GField &field)
void copy_with_checked_indices(const GVArray &src, const VArray< int > &indices, const IndexMask &mask, GMutableSpan dst)
VArray< float3 > curve_normals_varray(const CurvesGeometry &curves, AttrDomain domain)
bool try_capture_field_on_geometry(MutableAttributeAccessor attributes, const fn::FieldContext &field_context, const StringRef attribute_id, AttrDomain domain, const fn::Field< bool > &selection, const fn::GField &field)
VArray< float3 > mesh_normals_varray(const Mesh &mesh, const IndexMask &mask, AttrDomain domain)
bool try_capture_fields_on_geometry(MutableAttributeAccessor attributes, const fn::FieldContext &field_context, Span< StringRef > attribute_ids, AttrDomain domain, const fn::Field< bool > &selection, Span< fn::GField > fields)
GPU_SHADER_INTERFACE_INFO(overlay_edit_curve_handle_iface, "vert").flat(Type pos vertex_in(1, Type::UINT, "data") .vertex_out(overlay_edit_curve_handle_iface) .geometry_layout(PrimitiveIn Frequency::GEOMETRY storage_buf(1, Qualifier::READ, "uint", "data[]", Frequency::GEOMETRY) .push_constant(Type Frequency::GEOMETRY selection[]
unsigned __int64 uint64_t