Blender  V2.93
List of all members
blender::fn::MFNetworkEvaluationStorage Class Reference

Public Member Functions

Storage methods
 MFNetworkEvaluationStorage (IndexMask mask, int socket_id_amount)
 
 ~MFNetworkEvaluationStorage ()
 
void add_single_input_from_caller (const MFOutputSocket &socket, const GVArray &virtual_array)
 
void add_vector_input_from_caller (const MFOutputSocket &socket, const GVVectorArray &virtual_vector_array)
 
void add_single_output_from_caller (const MFOutputSocket &socket, GMutableSpan span)
 
void add_vector_output_from_caller (const MFOutputSocket &socket, GVectorArray &vector_array)
 
const GVArrayget_single_input__full (const MFInputSocket &socket, ResourceScope &scope)
 
const GVArrayget_single_input__single (const MFInputSocket &socket, ResourceScope &scope)
 
const GVVectorArrayget_vector_input__full (const MFInputSocket &socket, ResourceScope &scope)
 
const GVVectorArrayget_vector_input__single (const MFInputSocket &socket, ResourceScope &scope)
 
GMutableSpan get_single_output__full (const MFOutputSocket &socket)
 
GMutableSpan get_single_output__single (const MFOutputSocket &socket)
 
GVectorArrayget_vector_output__full (const MFOutputSocket &socket)
 
GVectorArrayget_vector_output__single (const MFOutputSocket &socket)
 
GMutableSpan get_mutable_single__full (const MFInputSocket &input, const MFOutputSocket &output, ResourceScope &scope)
 
GMutableSpan get_mutable_single__single (const MFInputSocket &input, const MFOutputSocket &output, ResourceScope &scope)
 
GVectorArrayget_mutable_vector__full (const MFInputSocket &input, const MFOutputSocket &output, ResourceScope &scope)
 
GVectorArrayget_mutable_vector__single (const MFInputSocket &input, const MFOutputSocket &output, ResourceScope &scope)
 
void finish_node (const MFFunctionNode &node)
 
void finish_output_socket (const MFOutputSocket &socket)
 
void finish_input_socket (const MFInputSocket &socket)
 
IndexMask mask () const
 
bool socket_is_computed (const MFOutputSocket &socket)
 
bool is_same_value_for_every_index (const MFOutputSocket &socket)
 
bool socket_has_buffer_for_output (const MFOutputSocket &socket)
 

Detailed Description

This keeps track of all the values that flow through the multi-function network. Therefore it maintains a mapping between output sockets and their corresponding values. Every value references some memory, that is owned either by the caller or this storage.

A value can be owned by different sockets over time to avoid unnecessary copies.

Definition at line 54 of file multi_function_network_evaluation.cc.

Constructor & Destructor Documentation

◆ MFNetworkEvaluationStorage()

blender::fn::MFNetworkEvaluationStorage::MFNetworkEvaluationStorage ( IndexMask  mask,
int  socket_id_amount 
)

Definition at line 525 of file multi_function_network_evaluation.cc.

◆ ~MFNetworkEvaluationStorage()

blender::fn::MFNetworkEvaluationStorage::~MFNetworkEvaluationStorage ( )

Member Function Documentation

◆ add_single_input_from_caller()

void blender::fn::MFNetworkEvaluationStorage::add_single_input_from_caller ( const MFOutputSocket socket,
const GVArray virtual_array 
)

◆ add_single_output_from_caller()

void blender::fn::MFNetworkEvaluationStorage::add_single_output_from_caller ( const MFOutputSocket socket,
GMutableSpan  span 
)

◆ add_vector_input_from_caller()

void blender::fn::MFNetworkEvaluationStorage::add_vector_input_from_caller ( const MFOutputSocket socket,
const GVVectorArray virtual_vector_array 
)

◆ add_vector_output_from_caller()

void blender::fn::MFNetworkEvaluationStorage::add_vector_output_from_caller ( const MFOutputSocket socket,
GVectorArray vector_array 
)

◆ finish_input_socket()

void blender::fn::MFNetworkEvaluationStorage::finish_input_socket ( const MFInputSocket socket)

◆ finish_node()

void blender::fn::MFNetworkEvaluationStorage::finish_node ( const MFFunctionNode node)

◆ finish_output_socket()

void blender::fn::MFNetworkEvaluationStorage::finish_output_socket ( const MFOutputSocket socket)

◆ get_mutable_single__full()

GMutableSpan blender::fn::MFNetworkEvaluationStorage::get_mutable_single__full ( const MFInputSocket input,
const MFOutputSocket output,
ResourceScope scope 
)

◆ get_mutable_single__single()

GMutableSpan blender::fn::MFNetworkEvaluationStorage::get_mutable_single__single ( const MFInputSocket input,
const MFOutputSocket output,
ResourceScope scope 
)

◆ get_mutable_vector__full()

GVectorArray & blender::fn::MFNetworkEvaluationStorage::get_mutable_vector__full ( const MFInputSocket input,
const MFOutputSocket output,
ResourceScope scope 
)

◆ get_mutable_vector__single()

GVectorArray & blender::fn::MFNetworkEvaluationStorage::get_mutable_vector__single ( const MFInputSocket input,
const MFOutputSocket output,
ResourceScope scope 
)

◆ get_single_input__full()

const GVArray & blender::fn::MFNetworkEvaluationStorage::get_single_input__full ( const MFInputSocket socket,
ResourceScope scope 
)

◆ get_single_input__single()

const GVArray & blender::fn::MFNetworkEvaluationStorage::get_single_input__single ( const MFInputSocket socket,
ResourceScope scope 
)

◆ get_single_output__full()

GMutableSpan blender::fn::MFNetworkEvaluationStorage::get_single_output__full ( const MFOutputSocket socket)

◆ get_single_output__single()

GMutableSpan blender::fn::MFNetworkEvaluationStorage::get_single_output__single ( const MFOutputSocket socket)

◆ get_vector_input__full()

const GVVectorArray & blender::fn::MFNetworkEvaluationStorage::get_vector_input__full ( const MFInputSocket socket,
ResourceScope scope 
)

◆ get_vector_input__single()

const GVVectorArray & blender::fn::MFNetworkEvaluationStorage::get_vector_input__single ( const MFInputSocket socket,
ResourceScope scope 
)

◆ get_vector_output__full()

GVectorArray & blender::fn::MFNetworkEvaluationStorage::get_vector_output__full ( const MFOutputSocket socket)

◆ get_vector_output__single()

GVectorArray & blender::fn::MFNetworkEvaluationStorage::get_vector_output__single ( const MFOutputSocket socket)

◆ is_same_value_for_every_index()

bool blender::fn::MFNetworkEvaluationStorage::is_same_value_for_every_index ( const MFOutputSocket socket)

◆ mask()

IndexMask blender::fn::MFNetworkEvaluationStorage::mask ( ) const

Definition at line 557 of file multi_function_network_evaluation.cc.

◆ socket_has_buffer_for_output()

bool blender::fn::MFNetworkEvaluationStorage::socket_has_buffer_for_output ( const MFOutputSocket socket)

◆ socket_is_computed()

bool blender::fn::MFNetworkEvaluationStorage::socket_is_computed ( const MFOutputSocket socket)

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