Files
2025-05-18 13:04:45 +08:00

102 lines
5.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Dataflow/ChaosFleshNodesPlugin.h"
#include "Dataflow/ChaosFleshAddKinematicParticlesNode.h"
#include "Dataflow/ChaosFleshAppendTetrahedralCollectionNode.h"
#include "Dataflow/ChaosFleshAuthorSceneCollisionCandidatesNode.h"
#include "Dataflow/ChaosFleshCalculateTetrehedralMetricsNode.h"
#include "Dataflow/ChaosFleshCollisionBodyConstraintNode.h"
#include "Dataflow/ChaosFleshComputeFiberFieldNode.h"
#include "Dataflow/ChaosFleshComputeIslandsNode.h"
#include "Dataflow/ChaosFleshComputeMuscleActivationNode.h"
#include "Dataflow/ChaosFleshCreateTetrahedronNode.h"
#include "Dataflow/ChaosFleshFleshAssetTerminalNode.h"
#include "Dataflow/ChaosFleshGenerateOriginInsertionNode.h"
#include "Dataflow/ChaosFleshGenerateSkeletalBindingsNode.h"
#include "Dataflow/ChaosFleshGenerateSurfaceBindingsNode.h"
#include "Dataflow/ChaosFleshGetFleshAssetNode.h"
#include "Dataflow/ChaosFleshGetSurfaceIndicesNode.h"
#include "Dataflow/ChaosFleshIsolateComponentNode.h"
#include "Dataflow/ChaosFleshKinematicConstraintNode.h"
#include "Dataflow/ChaosFleshKinematicMuscleAttachmentsNode.h"
#include "Dataflow/ChaosFleshKinematicSkeletonConstraintNode.h"
#include "Dataflow/ChaosFleshRadialTetrahedronNode.h"
#include "Dataflow/ChaosFleshTriangleMeshSimulationPropertiesNode.h"
#include "Dataflow/ChaosFleshSkeletalMeshConstraintNode.h"
#include "Dataflow/ChaosFleshSkinSimulationPropertiesNode.h"
#include "Dataflow/ChaosFleshSetFleshBonePositionTargetBindingNode.h"
#include "Dataflow/ChaosFleshSetFleshDefaultPropertiesNode.h"
#include "Dataflow/ChaosFleshSetVertexTetrahedraPositionTargetBindingNode.h"
#include "Dataflow/ChaosFleshSetVertexTrianglePositionTargetBindingNode.h"
#include "Dataflow/ChaosFleshSetVertexVertexPositionTargetBindingNode.h"
#include "Dataflow/ChaosFleshVertexConstraintNode.h"
#include "Dataflow/ChaosFleshVisualizeFiberFieldNode.h"
#include "Dataflow/GeometryCollectionAppendCollectionTransformNode.h"
#include "Dataflow/DataflowCategoryRegistry.h"
#include "Modules/ModuleManager.h"
#define LOCTEXT_NAMESPACE "ChaosFleshNodes"
void IChaosFleshNodesPlugin::StartupModule()
{
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FAddKinematicParticlesDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FAppendTetrahedralCollectionDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FAppendToCollectionTransformAttributeDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FAuthorSceneCollisionCandidates);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FCalculateTetMetrics);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FComputeFiberFieldNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FComputeFiberStreamlineNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FComputeIslandsNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FComputeMuscleActivationDataNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FComputeMuscleActivationDataNode_v2);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FCreateAirTetrahedralConstraintDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FCreateAirVolumeConstraintDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FCreateTetrahedronDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FCurveSamplingAnimationAssetTerminalNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FDeleteFleshVerticesDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FDeleteVertexTrianglePositionTargetBindingDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FFleshAssetTerminalDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FGenerateOriginInsertionNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FGenerateSkeletalBindings);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FGenerateSurfaceBindings);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FGetFleshAssetDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FGetSurfaceIndicesNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FIsolateComponentNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FKinematicBodySetupInitializationDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FKinematicInitializationDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FKinematicMuscleAttachmentsDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FKinematicSkeletonConstraintDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FKinematicSkeletalMeshInitializationDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FRadialTetrahedronDataflowNodes);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FReadSkeletalMeshCurvesDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetCollidableVerticesDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetFleshBonePositionTargetBindingDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetFleshBonePositionTargetBindingDataflowNode_v2);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetFleshDefaultPropertiesNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetMuscleActivationParameterNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetVerticesKinematicDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetVertexTetrahedraPositionTargetBindingDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetVertexTrianglePositionTargetBindingDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSetVertexVertexPositionTargetBindingDataflowNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FSkinSimulationPropertiesDataflowNodes);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FTriangleMeshSimulationPropertiesDataflowNodes);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FVisualizeFiberFieldNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FVisualizePositionTargetsNode);
DATAFLOW_NODE_REGISTER_CREATION_FACTORY(FVisualizeKinematicFacesNode);
// register node category for flesh asset
UE_DATAFLOW_REGISTER_CATEGORY_FORASSET_TYPE("Flesh", UFleshAsset);
UE_DATAFLOW_REGISTER_CATEGORY_FORASSET_TYPE("GeometryCollection", UFleshAsset);
}
void IChaosFleshNodesPlugin::ShutdownModule()
{
}
IMPLEMENT_MODULE(IChaosFleshNodesPlugin, ChaosFleshNodes)
#undef LOCTEXT_NAMESPACE