O suboperador Função executa um ou mais cálculos matemáticos em um ou dois valores de entrada ou operandos. O suboperador fornece uma ampla gama de funções; os cálculos específicos disponíveis dependem do tipo ou tipos de entrada.
Nota: O tipo de saída do suboperador Função é o mais complexo dos dois operandos. Por exemplo, uma função que usa um operando real e inteiro produz dados reais. Caso você necessite de produzir um tipo de dados diferente, ligue um suboperador Converter à saída do suboperador Função.
Interface

Grupo Primeiro operando
O primeiro operando está sempre disponível. A etiqueta de caixa de grupo ("Primeiro operando") é seguida pela etiqueta da respectiva entrada do suboperador; por exemplo, conforme mostrado na ilustração acima, é a entrada de vetor V1 e, em seguida, "(X)". Este último significa que o valor de entrada é substituído por X na função selecionada. Por exemplo, se Tipo=Inteiro, Usar segundo operando estiver desativado e você usar a função padrão (neste caso) de X*X ao quadrado, o valor de entrada é usado como o primeiro operando e o suboperador Função produz seu quadrado.
- Tipo
- Escolha o tipo de dados do primeiro operando. Todos os tipos de dados com suporte para ferramentas de Manipulação avançada de dados estão disponíveis na lista suspensa, exceto Complexo, Objeto, Par e Igual. Esta opção determina a etiqueta da caixa de grupo e o tipo de conexão da respectiva entrada de suboperador.
- Fator prévio
- Especifica um valor real pelo qual o primeiro operando é multiplicado antes de a função ser aplicada. Padrão=1,0.
Em determinadas circunstâncias, o parâmetro Fator prévio muda para um dos dois outros parâmetros:
- Fator Mix
- Apenas disponível quando a função de interpolação é selecionada. O Fator Mix define a proporção de interpolação dos dois operandos. Por exemplo, se o Fator Mix for 0,5, então ambas as entradas são consideradas de forma igual. Durante a interpolação, a soma de compartilhamentos é 1,0. O Fator Mix é o compartilhamento da primeira entrada. Como a soma é 1,0, o compartilhamento da segunda entrada é o valor 1,0 do Fator Mix.
- Deslocamento
- Somente está disponível ao usar um único operando (Primeiro operando) do tipo Inteiro ou Real com a função Identidade. O parâmetro Deslocamento é uma forma rápida de aumentar ou diminuir o valor em um canal de dados em uma quantidade fixa sem o inconveniente de criar suboperadores adicionais.
- R3
- Quando ativado, adiciona a entrada R3 ao suboperador, ao qual você pode conectar qualquer suboperador que produza um valor real. Este fator prévio de entrada substitui o valor do fator prévio explícito e é multiplicado pelo primeiro operando antes de a função ser aplicada.
- Usar o segundo operando
- Quando ativada, a função usa dois operandos com o resultado em que um conjunto diferente de funções está disponível na lista suspensa Função. Quando desativada, somente a entrada Primeiro operando é usada.
Grupo Segundo operando
Estes controles só estão disponíveis quando a opção Usar o segundo operando (consulte o anterior) está ativada. Nestas circunstâncias, o suboperador Função executa cálculos em dois valores de entrada. Dependendo do tipo de primeiro operando, o segundo operando pode ou não ser selecionado pelo usuário. Por exemplo, se o primeiro operando for do tipo Tempo, o segundo operando também deve ser do mesmo tipo. As conexões de entrada de suboperador são configuradas de forma correspondente.
A etiqueta de caixa de grupo ("Segundo operando") é seguida pela etiqueta da respetiva entrada do suboperador; por exemplo, na ilustração acima, a etiqueta inclui a matriz de entrada M2 e, em seguida, "(Y)". Este último significa que o valor de entrada é substituído por Y na função selecionada. Por exemplo, se os dois tipos de entrada forem do tipo Tempo e você usar a função Adição X + Y, o valor de entrada T2 é adicionado ao valor de entrada T1.
- Tipo
- Escolha o tipo de dados do segundo operando, quando apropriado. A lista suspensa só está disponível quando o tipo do primeiro operando é Inteiro, Quatérnion, Real ou Vetor. Caso contrário, o software define o mesmo tipo de dados como o primeiro operando e Tipo é um campo de somente leitura. Os tipos de dados disponíveis na lista suspensa dependem do tipo do primeiro operando. Por exemplo, se o primeiro operando for do tipo Inteiro, o segundo somente pode ser do tipo Inteiro ou Real.
- Fator prévio
- Especifica um valor real pelo qual o segundo operando é multiplicado antes de a função ser aplicada. Padrão=1,0.
- R4
- Quando ativado, adiciona a entrada R4 ao suboperador, à qual você pode conectar qualquer suboperador que implemente um valor real. Este fator prévio de entrada substitui o valor do fator prévio explícito e é multiplicado pelo segundo operando antes de a função ser aplicada.
- Função
- Escolha a fórmula usada para calcular o valor de saída de base. O conteúdo da lista suspensa depende do tipo de dados do primeiro e do segundo operando, se existirem. As funções são auto-explicativas. Os operadores Módulo e Resto diferem com relação aos valores negativos. Com os operadores restantes, o sinal do resultado é o mesmo que o sinal do dividendo. Com um operador de módulo, o sinal do resultado é o mesmo que o divisor. O restante do operador segue as normas de Fortran, C (C99 padrão) e C++ (C++11 padrão).
Grupo Resultados
- Tipo
- O tipo de dados de saída do suboperador Função. Com um único operando e com dois operandos do mesmo tipo, este é sempre igual ao tipo de dados do primeiro operando. Com dois operandos de tipos diferentes, o tipo de saída é o mais complexo dos dois operandos. Por exemplo, uma função que usa um operando real e inteiro produz dados reais. Caso você necessite de produzir um tipo de dados diferente, ligue um suboperador Converter à saída do suboperador Função.
- Fator posterior
- Especifica um valor do tipo de resultados pelo qual o resultado é multiplicado após a função ser aplicada. Padrão = 1,0 ou 1.
- Sincronização de animação de parâmetros
- Se você criar uma animação de parâmetros do suboperador, o software pode começar aplicando esta animação a todas as partículas com início no quadro inicial da animação ou o primeiro quadro do evento atual, ou ainda para cada partícula com base em sua idade. As opções são:
- E5
- Quando ativado, você pode visualizar o parâmetro de sincronização da animação por meio de um suboperador de Parâmetro e permitir que o usuário escolha. Ative a opção E5, adicione um suboperador de Parâmetro definido como Tipo: Sincronização da animação, conecte-o à entrada E5 no suboperador de Função e, em seguida, use a opção Expor parâmetros para tornar a configuração disponível na interface de Vista de partículas.
- Restringir por ID de grupo
- Quando ativado, você pode especificar um canal de dados de inteiro de ID de grupo no qual deseja executar o suboperador Função. Especifique o canal de dados clicando o botão Canal de dados do ID de grupo.
Esta opção somente está disponível sob as seguintes condições:
- Para as funções de "todos" os tipos que aparecem na lista suspensa Função quando a opção Usar o segundo operando está desativada.
- Para as funções do tipo "Média" que podem surgir na lista suspensa Função ao usar um ou dois operandos.
- Quando a opção Restringir por ID de grupo está ativada e você tiver definido um ID de grupo, a função especificada é executada em todas as partículas com esse ID de grupo, mas não nas restantes.
Abaixo segue um exemplo sobre como esta opção pode funcionar:
Dados de partículas = 1 2 3 4 5 1 2 3 4 5
Função = Média: Resultado = 3 3 3 3 3 3 3 3 3 3
Agora, suponha que a opção Restringir por ID de grupo está ativada e que os dados na configuração do Canal de dados de ID de grupo são = 1 1 1 2 4 4 4 4 4 8
O ID de grupo restringe a forma como o valor médio será calculado — é relativo às partículas com o mesmo ID de grupo. Portanto, o resultado da função será o seguinte (a partir de dados da partícula original): 2 2 2 4 3 3 3 3 3 5
O exemplo original tinha o seguinte caso de uso: são atribuídos IDs de grupo às partículas de acordo com seus pais: se forem criadas a partir do mesmo pai, então têm o mesmo ID de grupo. Neste caso, as partículas deslocam-se e, em seguida, colidem com uma malha. Assim que uma partícula colidir com uma malha, todas as partículas com o mesmo ID de grupo devem saltar para o evento a seguir.
Isto pode ser realizado desta forma: após uma partícula colidir, seus dados são alterados de Falsos para Verdadeiros. Em seguida, OR/Todas as partículas é usado com a opção Restringir por ID de grupo ativada. Portanto, ao usar OR no mesmo grupo, o valor Verdadeiro propaga-se por todas as partículas no mesmo grupo.