Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/NOD_geometry_exec.hh
| Show All 34 Lines | |||||
| using bke::WriteAttributeLookup; | using bke::WriteAttributeLookup; | ||||
| using fn::Field; | using fn::Field; | ||||
| using fn::FieldContext; | using fn::FieldContext; | ||||
| using fn::FieldEvaluator; | using fn::FieldEvaluator; | ||||
| using fn::FieldInput; | using fn::FieldInput; | ||||
| using fn::FieldOperation; | using fn::FieldOperation; | ||||
| using fn::GField; | using fn::GField; | ||||
| using fn::ValueOrField; | using fn::ValueOrField; | ||||
| using geometry_nodes_eval_log::NamedAttributeUsage; | |||||
| using geometry_nodes_eval_log::NodeWarningType; | using geometry_nodes_eval_log::NodeWarningType; | ||||
| /** | /** | ||||
| * This class exists to separate the memory management details of the geometry nodes evaluator | * This class exists to separate the memory management details of the geometry nodes evaluator | ||||
| * from the node execution functions and related utilities. | * from the node execution functions and related utilities. | ||||
| */ | */ | ||||
| class GeoNodeExecParamsProvider { | class GeoNodeExecParamsProvider { | ||||
| public: | public: | ||||
| ▲ Show 20 Lines • Show All 286 Lines • ▼ Show 20 Lines | #endif | ||||
| AttributeDomain get_highest_priority_input_domain(Span<std::string> names, | AttributeDomain get_highest_priority_input_domain(Span<std::string> names, | ||||
| const GeometryComponent &component, | const GeometryComponent &component, | ||||
| AttributeDomain default_domain) const; | AttributeDomain default_domain) const; | ||||
| std::string attribute_producer_name() const; | std::string attribute_producer_name() const; | ||||
| void set_default_remaining_outputs(); | void set_default_remaining_outputs(); | ||||
| void used_named_attribute(std::string attribute_name, NamedAttributeUsage usage); | |||||
| private: | private: | ||||
| /* Utilities for detecting common errors at when using this class. */ | /* Utilities for detecting common errors at when using this class. */ | ||||
| void check_input_access(StringRef identifier, const CPPType *requested_type = nullptr) const; | void check_input_access(StringRef identifier, const CPPType *requested_type = nullptr) const; | ||||
| void check_output_access(StringRef identifier, const CPPType &value_type) const; | void check_output_access(StringRef identifier, const CPPType &value_type) const; | ||||
| /* Find the active socket with the input name (not the identifier). */ | /* Find the active socket with the input name (not the identifier). */ | ||||
| const bNodeSocket *find_available_socket(const StringRef name) const; | const bNodeSocket *find_available_socket(const StringRef name) const; | ||||
| }; | }; | ||||
| } // namespace blender::nodes | } // namespace blender::nodes | ||||