Blender  V3.3
Public Types | Public Member Functions | Protected Attributes | List of all members
blender::fn::FieldInput Class Referenceabstract

#include <FN_field.hh>

Inheritance diagram for blender::fn::FieldInput:
blender::fn::FieldNode blender::bke::GeometryFieldInput blender::fn::IndexFieldInput blender::fn::tests::IndexFieldInput blender::bke::AnonymousAttributeFieldInput blender::bke::AttributeFieldInput blender::bke::CurveLengthFieldInput blender::bke::IDAttributeFieldInput blender::bke::NormalFieldInput blender::nodes::node_geo_accumulate_field_cc::AccumulateFieldInput< T > blender::nodes::node_geo_accumulate_field_cc::TotalFieldInput< T > blender::nodes::node_geo_curve_endpoint_selection_cc::EndpointFieldInput blender::nodes::node_geo_curve_handle_type_selection_cc::HandleTypeFieldInput blender::nodes::node_geo_curve_spline_parameter_cc::CurveLengthParameterFieldInput blender::nodes::node_geo_curve_spline_parameter_cc::CurveParameterFieldInput blender::nodes::node_geo_curve_spline_parameter_cc::IndexOnSplineFieldInput blender::nodes::node_geo_edge_paths_to_selection_cc::PathToEdgeSelectionFieldInput blender::nodes::node_geo_field_at_index_cc::FieldAtIndex blender::nodes::node_geo_input_curve_handles_cc::HandlePositionFieldInput blender::nodes::node_geo_input_instance_rotation_cc::VectorFieldInput blender::nodes::node_geo_input_instance_scale_cc::VectorFieldInput blender::nodes::node_geo_input_mesh_edge_angle_cc::AngleFieldInput blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput blender::nodes::node_geo_input_mesh_edge_neighbors_cc::EdgeNeighborCountFieldInput blender::nodes::node_geo_input_mesh_edge_vertices_cc::EdgePositionFieldInput blender::nodes::node_geo_input_mesh_edge_vertices_cc::EdgeVerticesFieldInput blender::nodes::node_geo_input_mesh_face_area_cc::FaceAreaFieldInput blender::nodes::node_geo_input_mesh_face_is_planar_cc::PlanarFieldInput blender::nodes::node_geo_input_mesh_face_neighbors_cc::FaceNeighborCountFieldInput blender::nodes::node_geo_input_mesh_face_neighbors_cc::FaceVertexCountFieldInput blender::nodes::node_geo_input_mesh_island_cc::IslandCountFieldInput blender::nodes::node_geo_input_mesh_island_cc::IslandFieldInput blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::VertexCountFieldInput blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::VertexFaceCountFieldInput blender::nodes::node_geo_input_shortest_edge_paths_cc::ShortestEdgePathsCostFieldInput blender::nodes::node_geo_input_shortest_edge_paths_cc::ShortestEdgePathsNextVertFieldInput blender::nodes::node_geo_input_spline_length_cc::SplineCountFieldInput blender::nodes::node_geo_input_tangent_cc::TangentFieldInput blender::nodes::node_geo_interpolate_domain_cc::InterpolateDomain blender::nodes::node_geo_material_selection_cc::MaterialSelectionFieldInput blender::nodes::node_geo_uv_pack_islands_cc::PackIslandsFieldInput blender::nodes::node_geo_uv_unwrap_cc::UnwrapFieldInput

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 CPPTypecpp_type () const
 
Category category () const
 
const CPPTypeoutput_cpp_type (int output_index) const override
 
- Public Member Functions inherited from blender::fn::FieldNode
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 CPPTypetype_
 
std::string debug_name_
 
Category category_ = Category::Unknown
 
- Protected Attributes inherited from blender::fn::FieldNode
std::shared_ptr< const FieldInputsfield_inputs_
 

Detailed Description

A FieldNode that represents an input to the entire field-tree.

Definition at line 242 of file FN_field.hh.

Member Enumeration Documentation

◆ Category

Enumerator
NamedAttribute 
Generated 
AnonymousAttribute 
Unknown 

Definition at line 245 of file FN_field.hh.

Constructor & Destructor Documentation

◆ FieldInput()

blender::fn::FieldInput::FieldInput ( const CPPType type,
std::string  debug_name = "" 
)

◆ ~FieldInput()

blender::fn::FieldInput::~FieldInput ( )
default

Member Function Documentation

◆ category()

FieldInput::Category blender::fn::FieldInput::category ( ) const
inline

Definition at line 668 of file FN_field.hh.

References category_.

◆ cpp_type()

const CPPType & blender::fn::FieldInput::cpp_type ( ) const
inline

Definition at line 663 of file FN_field.hh.

References type_.

Referenced by blender::fn::build_multi_function_procedure_for_fields().

◆ debug_name()

StringRef blender::fn::FieldInput::debug_name ( ) const
inline

Definition at line 658 of file FN_field.hh.

References debug_name_.

Referenced by blender::fn::build_multi_function_procedure_for_fields().

◆ get_varray_for_context()

virtual GVArray blender::fn::FieldInput::get_varray_for_context ( const FieldContext context,
IndexMask  mask,
ResourceScope scope 
) const
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().

◆ output_cpp_type()

const CPPType & blender::fn::FieldInput::output_cpp_type ( int  output_index) const
inlineoverridevirtual

Implements blender::fn::FieldNode.

Definition at line 673 of file FN_field.hh.

References BLI_assert, type_, and UNUSED_VARS_NDEBUG.

◆ socket_inspection_name()

std::string blender::fn::FieldInput::socket_inspection_name ( ) const
inlinevirtual

Member Data Documentation

◆ category_

Category blender::fn::FieldInput::category_ = Category::Unknown
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().

◆ debug_name_

std::string blender::fn::FieldInput::debug_name_
protected

◆ type_

const CPPType* blender::fn::FieldInput::type_
protected

The documentation for this class was generated from the following files: