Blender
V3.3
|
#include <FN_field.hh>
Public Member Functions | |
virtual | ~FieldNode () |
virtual const CPPType & | output_cpp_type (int output_index) const =0 |
#FieldNode Inline Methods | |
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 | |
std::shared_ptr< const FieldInputs > | field_inputs_ |
A node in a field-tree. It has at least one output that can be referenced by fields.
Definition at line 61 of file FN_field.hh.
|
inline |
Definition at line 576 of file FN_field.hh.
|
virtualdefault |
|
inline |
Definition at line 585 of file FN_field.hh.
References field_inputs_.
Referenced by blender::fn::evaluate_constant_field(), blender::nodes::geometry_nodes_eval_log::LocalGeoLogger::log_value_for_sockets(), blender::fn::make_field_constant_if_possible(), and blender::nodes::node_geo_switch_cc::switch_fields().
|
inline |
Definition at line 590 of file FN_field.hh.
References field_inputs_.
Referenced by blender::fn::FieldInput::FieldInput(), and blender::nodes::geometry_nodes_eval_log::GFieldValueLog::GFieldValueLog().
|
inlinevirtual |
Reimplemented in blender::nodes::node_geo_material_selection_cc::MaterialSelectionFieldInput, blender::nodes::node_geo_input_tangent_cc::TangentFieldInput, blender::nodes::node_geo_input_spline_length_cc::SplineCountFieldInput, 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_mesh_vertex_neighbors_cc::VertexFaceCountFieldInput, blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::VertexCountFieldInput, blender::nodes::node_geo_input_mesh_island_cc::IslandCountFieldInput, blender::nodes::node_geo_input_mesh_island_cc::IslandFieldInput, blender::nodes::node_geo_input_mesh_face_neighbors_cc::FaceVertexCountFieldInput, blender::nodes::node_geo_input_mesh_face_neighbors_cc::FaceNeighborCountFieldInput, blender::nodes::node_geo_input_mesh_face_is_planar_cc::PlanarFieldInput, blender::nodes::node_geo_input_mesh_face_area_cc::FaceAreaFieldInput, 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_edge_neighbors_cc::EdgeNeighborCountFieldInput, blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput, blender::nodes::node_geo_input_mesh_edge_angle_cc::AngleFieldInput, blender::nodes::node_geo_input_instance_scale_cc::VectorFieldInput, blender::nodes::node_geo_input_instance_rotation_cc::VectorFieldInput, blender::nodes::node_geo_input_curve_handles_cc::HandlePositionFieldInput, blender::nodes::node_geo_edge_paths_to_selection_cc::PathToEdgeSelectionFieldInput, blender::nodes::node_geo_curve_spline_parameter_cc::IndexOnSplineFieldInput, blender::nodes::node_geo_curve_spline_parameter_cc::CurveLengthParameterFieldInput, blender::nodes::node_geo_curve_spline_parameter_cc::CurveParameterFieldInput, blender::nodes::node_geo_curve_handle_type_selection_cc::HandleTypeFieldInput, blender::nodes::node_geo_curve_endpoint_selection_cc::EndpointFieldInput, blender::nodes::node_geo_accumulate_field_cc::TotalFieldInput< T >, blender::nodes::node_geo_accumulate_field_cc::AccumulateFieldInput< T >, blender::fn::IndexFieldInput, blender::bke::CurveLengthFieldInput, blender::bke::AnonymousAttributeFieldInput, blender::bke::NormalFieldInput, blender::bke::IDAttributeFieldInput, and blender::bke::AttributeFieldInput.
Definition at line 595 of file FN_field.hh.
References blender::get_default_hash().
Reimplemented in blender::nodes::node_geo_material_selection_cc::MaterialSelectionFieldInput, blender::nodes::node_geo_input_tangent_cc::TangentFieldInput, blender::nodes::node_geo_input_spline_length_cc::SplineCountFieldInput, 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_mesh_vertex_neighbors_cc::VertexFaceCountFieldInput, blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::VertexCountFieldInput, blender::nodes::node_geo_input_mesh_island_cc::IslandCountFieldInput, blender::nodes::node_geo_input_mesh_island_cc::IslandFieldInput, blender::nodes::node_geo_input_mesh_face_neighbors_cc::FaceVertexCountFieldInput, blender::nodes::node_geo_input_mesh_face_neighbors_cc::FaceNeighborCountFieldInput, blender::nodes::node_geo_input_mesh_face_is_planar_cc::PlanarFieldInput, blender::nodes::node_geo_input_mesh_face_area_cc::FaceAreaFieldInput, 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_edge_neighbors_cc::EdgeNeighborCountFieldInput, blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput, blender::nodes::node_geo_input_mesh_edge_angle_cc::AngleFieldInput, blender::nodes::node_geo_input_instance_scale_cc::VectorFieldInput, blender::nodes::node_geo_input_instance_rotation_cc::VectorFieldInput, blender::nodes::node_geo_input_curve_handles_cc::HandlePositionFieldInput, blender::nodes::node_geo_edge_paths_to_selection_cc::PathToEdgeSelectionFieldInput, blender::nodes::node_geo_curve_spline_parameter_cc::IndexOnSplineFieldInput, blender::nodes::node_geo_curve_spline_parameter_cc::CurveLengthParameterFieldInput, blender::nodes::node_geo_curve_spline_parameter_cc::CurveParameterFieldInput, blender::nodes::node_geo_curve_handle_type_selection_cc::HandleTypeFieldInput, blender::nodes::node_geo_curve_endpoint_selection_cc::EndpointFieldInput, blender::nodes::node_geo_accumulate_field_cc::TotalFieldInput< T >, blender::nodes::node_geo_accumulate_field_cc::AccumulateFieldInput< T >, blender::fn::IndexFieldInput, blender::bke::CurveLengthFieldInput, blender::bke::AnonymousAttributeFieldInput, blender::bke::NormalFieldInput, blender::bke::IDAttributeFieldInput, and blender::bke::AttributeFieldInput.
Definition at line 600 of file FN_field.hh.
|
inline |
Definition at line 580 of file FN_field.hh.
Referenced by blender::fn::build_multi_function_procedure_for_fields(), blender::fn::evaluate_fields(), and blender::fn::preprocess_field_tree().
|
pure virtual |
Implemented in blender::fn::FieldConstant, blender::fn::FieldInput, and blender::fn::FieldOperation.
|
protected |
Keeps track of the inputs that this node depends on. This avoids recomputing it every time the data is required. It is a shared pointer, because very often multiple nodes depend on the same inputs. Might contain null.
Definition at line 72 of file FN_field.hh.
Referenced by depends_on_input(), field_inputs(), blender::fn::FieldInput::FieldInput(), and blender::fn::FieldOperation::FieldOperation().