42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
#include "CADData.h"
|
|
#include "CADOptions.h"
|
|
|
|
namespace UE::CADKernel
|
|
{
|
|
class FBody;
|
|
class FBodyMesh;
|
|
class FFaceMesh;
|
|
class FTopologicalShapeEntity;
|
|
class FModelMesh;
|
|
}
|
|
|
|
struct FMeshDescription;
|
|
|
|
namespace CADLibrary
|
|
{
|
|
class FImportParameters;
|
|
struct FMeshParameters;
|
|
|
|
struct FMeshConversionContext;
|
|
|
|
class CADLIBRARY_API FCADKernelTools
|
|
{
|
|
public:
|
|
static void DefineMeshCriteria(UE::CADKernel::FModelMesh& MeshModel, const FImportParameters& ImportParameters, double GeometricTolerance);
|
|
|
|
static void GetBodyTessellation(const UE::CADKernel::FModelMesh& ModelMesh, const UE::CADKernel::FBody& Body, FBodyMesh& OutBodyMesh);
|
|
|
|
/**
|
|
* Tessellate a CADKernel entity and update the MeshDescription
|
|
*/
|
|
static bool Tessellate(UE::CADKernel::FTopologicalShapeEntity& InCADKernelEntity, FMeshConversionContext& Context, FMeshDescription& OutMeshDescription);
|
|
|
|
static uint32 GetFaceTessellation(UE::CADKernel::FFaceMesh& FaceMesh, FBodyMesh& OutBodyMesh, FObjectDisplayDataId FaceMaterial);
|
|
};
|
|
}
|