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

38 lines
1010 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "DatasmithMaxExporterDefines.h"
#include "Windows/AllowWindowsPlatformTypes.h"
MAX_INCLUDES_START
#include "bitmap.h"
#include "maxversion.h"
#include "units.h"
MAX_INCLUDES_END
#include "Windows/HideWindowsPlatformTypes.h"
// In 3ds max 2022 SDK, GetMasterScale is deprecated and replaced with GetSystemUnitScale
#if MAX_PRODUCT_YEAR_NUMBER < 2022
inline double GetSystemUnitScale(int type) { return GetMasterScale(type); }
#endif
// Helper structure to help manage loading and deleting bitmaps when we only have its BitmapInfo
struct FScopedBitMapPtr
{
public:
BitmapInfo MapInfo;
Bitmap* Map = nullptr;
FScopedBitMapPtr(const BitmapInfo& InMapInfo, Bitmap* InMap);
~FScopedBitMapPtr();
private:
bool bNeedsDelete = false;
};
namespace DatasmithMaxHelper
{
void FilterInvertedScaleTransforms(const TArray<FTransform>& Transforms, TArray<FTransform>& OutNormal, TArray<FTransform>& OutInverted);
}