Blender
V3.3
|
#include <FN_field.hh>
Public Types | |
enum class | Category { NamedAttribute = 0 , Generated = 1 , AnonymousAttribute = 2 , Unknown } |
Public Member Functions | |
FieldInput (const CPPType &type, std::string debug_name="") | |
~FieldInput () | |
virtual GVArray | get_varray_for_context (const FieldContext &context, IndexMask mask, ResourceScope &scope) const =0 |
#FieldInput Inline Methods | |
virtual std::string | socket_inspection_name () const |
blender::StringRef | debug_name () const |
const CPPType & | cpp_type () const |
Category | category () const |
const CPPType & | output_cpp_type (int output_index) const override |
![]() | |
virtual | ~FieldNode () |
FieldNode (FieldNodeType node_type) | |
FieldNodeType | node_type () const |
bool | depends_on_input () const |
const std::shared_ptr< const FieldInputs > & | field_inputs () const |
virtual uint64_t | hash () const |
virtual bool | is_equal_to (const FieldNode &other) const |
Protected Attributes | |
const CPPType * | type_ |
std::string | debug_name_ |
Category | category_ = Category::Unknown |
![]() | |
std::shared_ptr< const FieldInputs > | field_inputs_ |
A FieldNode that represents an input to the entire field-tree.
Definition at line 242 of file FN_field.hh.
|
strong |
Enumerator | |
---|---|
NamedAttribute | |
Generated | |
AnonymousAttribute | |
Unknown |
Definition at line 245 of file FN_field.hh.
blender::fn::FieldInput::FieldInput | ( | const CPPType & | type, |
std::string | debug_name = "" |
||
) |
Definition at line 660 of file field.cc.
References blender::fn::FieldNode::field_inputs(), blender::fn::FieldNode::field_inputs_, and blender::fn::Input.
|
default |
|
inline |
Definition at line 668 of file FN_field.hh.
References category_.
|
inline |
Definition at line 663 of file FN_field.hh.
References type_.
Referenced by blender::fn::build_multi_function_procedure_for_fields().
|
inline |
Definition at line 658 of file FN_field.hh.
References debug_name_.
Referenced by blender::fn::build_multi_function_procedure_for_fields().
|
pure virtual |
Get the value of this specific input based on the given context. The returned virtual array, should live at least as long as the passed in #scope. May return null.
Implemented in blender::bke::GeometryFieldInput, and blender::fn::IndexFieldInput.
Referenced by blender::fn::FieldContext::get_varray_for_input().
|
inlineoverridevirtual |
Implements blender::fn::FieldNode.
Definition at line 673 of file FN_field.hh.
References BLI_assert, type_, and UNUSED_VARS_NDEBUG.
|
inlinevirtual |
Reimplemented in blender::bke::AnonymousAttributeFieldInput, blender::bke::NormalFieldInput, blender::bke::IDAttributeFieldInput, and blender::bke::AttributeFieldInput.
Definition at line 653 of file FN_field.hh.
References debug_name_.
|
protected |
Definition at line 255 of file FN_field.hh.
Referenced by blender::nodes::node_geo_input_mesh_edge_angle_cc::AngleFieldInput::AngleFieldInput(), blender::bke::AnonymousAttributeFieldInput::AnonymousAttributeFieldInput(), blender::bke::AttributeFieldInput::AttributeFieldInput(), category(), blender::bke::CurveLengthFieldInput::CurveLengthFieldInput(), blender::nodes::node_geo_input_mesh_edge_neighbors_cc::EdgeNeighborCountFieldInput::EdgeNeighborCountFieldInput(), blender::nodes::node_geo_input_mesh_edge_vertices_cc::EdgePositionFieldInput::EdgePositionFieldInput(), blender::nodes::node_geo_input_mesh_edge_vertices_cc::EdgeVerticesFieldInput::EdgeVerticesFieldInput(), blender::nodes::node_geo_curve_endpoint_selection_cc::EndpointFieldInput::EndpointFieldInput(), blender::nodes::node_geo_input_mesh_face_area_cc::FaceAreaFieldInput::FaceAreaFieldInput(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::FaceNeighborCountFieldInput::FaceNeighborCountFieldInput(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::FaceVertexCountFieldInput::FaceVertexCountFieldInput(), blender::nodes::node_geo_curve_handle_type_selection_cc::HandleTypeFieldInput::HandleTypeFieldInput(), blender::bke::IDAttributeFieldInput::IDAttributeFieldInput(), blender::fn::IndexFieldInput::IndexFieldInput(), blender::nodes::node_geo_input_mesh_island_cc::IslandCountFieldInput::IslandCountFieldInput(), blender::nodes::node_geo_input_mesh_island_cc::IslandFieldInput::IslandFieldInput(), blender::bke::NormalFieldInput::NormalFieldInput(), blender::nodes::node_geo_uv_pack_islands_cc::PackIslandsFieldInput::PackIslandsFieldInput(), blender::nodes::node_geo_edge_paths_to_selection_cc::PathToEdgeSelectionFieldInput::PathToEdgeSelectionFieldInput(), blender::nodes::node_geo_input_mesh_face_is_planar_cc::PlanarFieldInput::PlanarFieldInput(), blender::nodes::node_geo_input_shortest_edge_paths_cc::ShortestEdgePathsNextVertFieldInput::ShortestEdgePathsNextVertFieldInput(), blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput::SignedAngleFieldInput(), blender::nodes::node_geo_input_spline_length_cc::SplineCountFieldInput::SplineCountFieldInput(), blender::nodes::node_geo_uv_unwrap_cc::UnwrapFieldInput::UnwrapFieldInput(), blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::VertexCountFieldInput::VertexCountFieldInput(), and blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::VertexFaceCountFieldInput::VertexFaceCountFieldInput().
|
protected |
Definition at line 254 of file FN_field.hh.
Referenced by debug_name(), socket_inspection_name(), and blender::bke::AnonymousAttributeFieldInput::socket_inspection_name().
|
protected |
Definition at line 253 of file FN_field.hh.
Referenced by cpp_type(), blender::nodes::node_geo_field_at_index_cc::FieldAtIndex::get_varray_for_context(), blender::bke::AttributeFieldInput::get_varray_for_context(), blender::bke::AnonymousAttributeFieldInput::get_varray_for_context(), blender::bke::AttributeFieldInput::hash(), blender::bke::AnonymousAttributeFieldInput::hash(), blender::bke::AttributeFieldInput::is_equal_to(), blender::bke::AnonymousAttributeFieldInput::is_equal_to(), and output_cpp_type().