aboutsummaryrefslogtreecommitdiff
path: root/tools/ArtistTools/source/CoreLib/Utils
diff options
context:
space:
mode:
authorBryan Galdrikian <[email protected]>2017-08-23 11:24:32 -0700
committerBryan Galdrikian <[email protected]>2017-08-23 11:24:32 -0700
commitf1e539cadfb085cedc32f9773cfb9d14bfcdf138 (patch)
tree7ca74e06a4386dd22fd850a8417a31a85d282a30 /tools/ArtistTools/source/CoreLib/Utils
parentUpdated to CL 22661993: (diff)
downloadblast-f1e539cadfb085cedc32f9773cfb9d14bfcdf138.tar.xz
blast-f1e539cadfb085cedc32f9773cfb9d14bfcdf138.zip
Removing ArtistTools and CurveEditor projects
Diffstat (limited to 'tools/ArtistTools/source/CoreLib/Utils')
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Automate.cpp530
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Automate.h23
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/CoreLibUtils.h65
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/MathUtil.cpp327
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/MathUtil.h557
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Profiler.cpp82
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Profiler.h51
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Settings.cpp767
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Settings.h392
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Stats.cpp76
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Stats.h54
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Timer.cpp80
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/Timer.h68
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/ViewerOutput.cpp75
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/ViewerOutput.h136
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/XMLHelper.cpp121
-rw-r--r--tools/ArtistTools/source/CoreLib/Utils/XMLHelper.h39
17 files changed, 0 insertions, 3443 deletions
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Automate.cpp b/tools/ArtistTools/source/CoreLib/Utils/Automate.cpp
deleted file mode 100644
index 6c7d551..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Automate.cpp
+++ /dev/null
@@ -1,530 +0,0 @@
-#include <windows.h>
-
-#include <QtWidgets/QApplication>
-
-#include "AppMainWindow.h"
-//#include "SimpleScene.h"
-
-#include "OpenAutomate.h"
-#include "Automate.h"
-#include "Settings.h"
-
-//#define OPEN_CONSOLE
-#ifdef OPEN_CONSOLE
-#include <Windows.h>
-#endif
-
-#include <cassert>
-#include <string>
-
-#include <Nv/Common/NvCoCommon.h>
-
-#define KEYSTR ("Software\\OpenAutomate\\RegisteredApps\\NVIDIA\\FurViewer\\v1.0\\")
-
-const oaChar *Benchmarks[] = {
- "HairBall",
- "Teapot",
- "Manjaladon",
- "WitcherHorse",
- NV_NULL
-};
-oaInt NumBenchmarks = 1;
-
-static void ParseArgs(int argc, char *argv[]);
-
-static void OAMainLoop(const char *opt);
-static bool RegisterAppItself();
-static int RunApp(QApplication& a);
-static void GetAllOptions(void);
-static void GetCurrentOptions(void);
-
-static bool g_isAutomateMode = false;
-static int InstallModeFlag = 0;
-static char *OAOpt = NV_NULL;
-
-bool AutomateInstallApp()
-{
- return RegisterAppItself();
-}
-
-static bool RegisterAppItself()
-{
- char exePath[MAX_PATH];
- if(!GetExePath(exePath))
- {
- fprintf(stderr, "Cannot get exe path\r\n");
- return false;
- }
-
- HKEY hKey;
- DWORD dwRes = RegOpenKeyExA(
- HKEY_LOCAL_MACHINE,
- KEYSTR,
- 0,
- KEY_WRITE | KEY_READ,
- &hKey);
-
- DWORD dwSize = MAX_PATH;
- char buf[MAX_PATH];
- if(dwRes == ERROR_SUCCESS)
- {
- dwRes = RegQueryValueExA(
- hKey,
- "INSTALL_ROOT_PATH",
- NV_NULL,
- NV_NULL,
- (LPBYTE)buf,
- &dwSize);
- if(dwRes == ERROR_SUCCESS && !lstrcmpiA(buf, exePath))
- {
- RegCloseKey(hKey);
- return true;
- }
- }
- else
- {
- dwRes = RegCreateKeyExA(
- HKEY_LOCAL_MACHINE,
- KEYSTR,
- 0,
- NV_NULL,
- REG_OPTION_NON_VOLATILE,
- KEY_WRITE, NV_NULL,
- &hKey,
- &dwSize);
- if(ERROR_SUCCESS != dwRes)
- {
- RegCloseKey(hKey);
- return false;
- }
- }
-
- bool bRet = false;
- do
- {
- dwRes = RegSetValueExA(
- hKey,
- "INSTALL_ROOT_PATH",
- 0,
- REG_SZ,
- (BYTE*)exePath,
- (DWORD)strlen(exePath));
- if(ERROR_SUCCESS != dwRes)
- {
- fprintf(stderr, "Write INSTALL_ROOT_PATH Failed\r\n");
- break;
- }
-
-#ifdef _WIN64
-#ifdef _DEBUG
- strcat(exePath, "FurViewer.win64.D.exe");
-#else
- strcat(exePath, "FurViewer.win64.exe");
-#endif
-#else
-#ifdef _DEBUG
- strcat(exePath, "FurViewer.win32.D.exe");
-#else
- strcat(exePath, "FurViewer.win32.exe");
-#endif
-#endif
-
- dwRes = RegSetValueExA(
- hKey,
- "ENTRY_EXE",
- 0,
- REG_SZ,
- (BYTE*)exePath,
- (DWORD)strlen(exePath));
- if(ERROR_SUCCESS != dwRes)
- {
- fprintf(stderr, "Write ENTRY_EXE Failed\r\n");
- break;
- }
-
- ZeroMemory(buf, sizeof(buf));
- SYSTEMTIME tm;
- GetLocalTime(&tm);
- sprintf(
- buf,
- "%04d-%02d-%02d %02d:%02d:%02d",
- tm.wYear,
- tm.wMonth,
- tm.wDay,
- tm.wHour,
- tm.wMinute,
- tm.wSecond);
- dwRes = RegSetValueExA(
- hKey,
- "INSTALL_DATETIME",
- 0,
- REG_SZ,
- (BYTE*)buf,
- (DWORD)strlen(buf));
- if(ERROR_SUCCESS != dwRes)
- {
- fprintf(stderr, "Write INSTALL_DATETIME Failed\r\n");
- break;
- }
-
- dwRes = RegSetValueExA(
- hKey,
- "REGION",
- 0,
- REG_SZ,
- (BYTE*)"en_US",
- (DWORD)strlen("en_US"));
- if(ERROR_SUCCESS != dwRes)
- {
- fprintf(stderr, "Write REGION Failed\r\n");
- break;
- }
-
- bRet = true;
- } while(0);
-
- RegCloseKey(hKey);
- return bRet;
-}
-
-static const char *FormatDataType(oaOptionDataType value_type)
-{
- switch(value_type)
- {
- case OA_TYPE_STRING:
- return "String";
- case OA_TYPE_INT:
- return "Int";
- case OA_TYPE_FLOAT:
- return "Float";
- case OA_TYPE_ENUM:
- return "Enum";
- case OA_TYPE_BOOL:
- return "Bool";
- default:
- return "Unknown";
- }
-}
-
-static const char *FormatCompareOp(oaComparisonOpType op_value)
-{
- switch(op_value)
- {
- case OA_COMP_OP_EQUAL:
- return "Equal";
- case OA_COMP_OP_NOT_EQUAL:
- return "NotEqual";
- case OA_COMP_OP_GREATER:
- return "Greater";
- case OA_COMP_OP_LESS:
- return "Less";
- case OA_COMP_OP_GREATER_OR_EQUAL:
- return "GreaterOrEqual";
- case OA_COMP_OP_LESS_OR_EQUAL:
- return "LessOrEqual";
- default:
- return "Unknown";
- }
-}
-
-static void ConvertOAValue(oaOptionDataType value_type,
- const oaValue *value,
- char *result)
-{
- switch(value_type)
- {
- case OA_TYPE_STRING:
- case OA_TYPE_ENUM:
- if (value->String) strcpy(result, value->String);
- else result[0] = '\0';
- break;
- case OA_TYPE_INT:
- sprintf(result, "%d", value->Int);
- break;
- case OA_TYPE_FLOAT:
- sprintf(result, "%f", value->Float);
- break;
- case OA_TYPE_BOOL:
- sprintf(result, "%1d", value->Bool);
- break;
- default:
- return;
- }
-}
-
-static void PrintOptions(const oaNamedOption *option)
-{
- char buf[MAX_PATH];
- ConvertOAValue(option->DataType, &option->Value, buf);
-
- fprintf(stderr, "name=%s,type=%s,value=%s\r\n", option->Name, FormatDataType(option->DataType), buf);
- if(option->MaxValue.Int && option->MinValue.Int)
- {
- fprintf(stderr," numsteps=%d", option->NumSteps);
- ConvertOAValue(option->DataType, &option->MinValue, buf);
- fprintf(stderr, "minvalue=%s", buf);
- ConvertOAValue(option->DataType, &option->MaxValue, buf);
- fprintf(stderr,"maxvalue=%s\r\n", buf);
- }
-
- if(option->Dependency.ParentName)
- {
- ConvertOAValue(option->Dependency.ComparisonValType, &option->Dependency.ComparisonVal, buf);
- fprintf(stderr, " parentname=%s,comparisionop=%s,comparisiontype=%s,comparisionvalue=%s\r\n",
- option->Dependency.ParentName,
- FormatCompareOp(option->Dependency.ComparisonOp),
- FormatDataType(option->Dependency.ComparisonValType),
- buf);
- }
-}
-
-#if (0) // Remove this!
-int main(int argc, char *argv[])
-{
- SetConsoleTitleA("OA - simple application");
- ParseArgs(argc, argv);
-
- AppSettings::Inst().InitOptions();
-
- if(InstallModeFlag)
- {
- InstallApp();
- }
- else if(OAModeFlag)
- {
- OAMainLoop(OAOpt);
- }
- else
- {
- RunApp();
- }
-
- return(0);
-}
-#endif
-
-void GetAllOptions(void)
-{
- fprintf(stderr, "All Options: \r\n");
- for(oaInt i=0; i < AppSettings::Inst().GetNumOptions(); ++i)
- {
- oaNamedOption* option = AppSettings::Inst().GetOption(i);
- if (!strcmp(option->Name, "User/ProjectPath"))
- continue;
- if (!strcmp(option->Name, "User/FurAssetPath"))
- continue;
- PrintOptions(AppSettings::Inst().GetOption(i));
- oaAddOption(AppSettings::Inst().GetOption(i));
- }
-}
-
-void GetCurrentOptions(void)
-{
- fprintf(stderr, "Current Options: \r\n");
-
- std::map<std::string, OptionValue>::const_iterator Iter = AppSettings::Inst().GetCurrentOptionMap()->begin();
-
- oaNamedOption option;
- oaInitOption(&option);
-
- for(; Iter != AppSettings::Inst().GetCurrentOptionMap()->end(); ++Iter)
- {
- if (!strcmp(Iter->second.Name, "User/ProjectPath"))
- continue;
- if (!strcmp(Iter->second.Name, "User/FurAssetPath"))
- continue;
-
- option.Name = Iter->second.Name;
- option.Value = Iter->second.Value;
- option.DataType = Iter->second.Type;
- PrintOptions(&option);
-
- oaAddOptionValue(Iter->second.Name,
- Iter->second.Type,
- &Iter->second.Value);
- }
-}
-
-void SetOptions(void)
-{
- oaNamedOption *Option;
-
- fprintf(stderr, "Set Options: \r\n");
- while ((Option = oaGetNextOption()) != NV_NULL)
- {
- /*
- * Set option value to persist for subsequent runs of the game
- * to the given value. Option->Name will be the name of the value,
- * and Option->Value will contain the appropriate value.
- */
- PrintOptions(Option);
- AppSettings::Inst().SetOptionValue(Option->Name, Option->DataType, &Option->Value);
- }
-
- AppSettings::Inst().WriteOptionsFile();
-}
-
-void GetBenchmarks(void)
-{
- /* foreach known available benchmark call oaAddBenchmark() with a unique string identifying it */
- for(oaInt i=0; i < NumBenchmarks; ++i)
- oaAddBenchmark(Benchmarks[i]);
-}
-
-void RunBenchmark(const oaChar *benchmark_name)
-{
- oaValue Val;
- int i;
-
- bool FoundBenchmark = false;
- for(i=0; i < NumBenchmarks; ++i)
- if(!strcmp(Benchmarks[i], benchmark_name))
- {
- FoundBenchmark = true;
- break;
- }
-
- /* Check if the requested benchark is valid */
- if(!FoundBenchmark)
- {
- char Msg[1024];
- sprintf(Msg, "'%s' is not a valid benchmark.", benchmark_name);
- OA_RAISE_ERROR(INVALID_BENCHMARK, benchmark_name);
- }
-
- /* Setup everything to run the benchmark */
-
- /* oaStartBenchmark() must be called right before the first frame */
- oaStartBenchmark();
-
- /*
- * Run the benchmark, and call oaDisplayFrame() right before the final
- * present call for each frame
- */
- //for(i=0; i < 50; ++i)
- //{
- // SLEEP(20);
-
- // oaValue FrameValue;
- // FrameValue.Int = i;
- // oaValue OtherInt;
- // OtherInt.Int = i+1000;
- // oaChar str[100];
- // sprintf(str, "frame number: %d\00", i);
- // oaValue Str;
- // Str.String = str;
-
- // oaAddFrameValue("FrameCount", OA_TYPE_INT, &FrameValue);
- // oaAddFrameValue("OtherInt", OA_TYPE_INT, &OtherInt);
- // oaAddFrameValue("String", OA_TYPE_STRING, &Str);
-
- // oaDisplayFrame((oaFloat)(i * 20) / (oaFloat)1000);
- //}
- {
-// SimpleScene* scene = SimpleScene::Inst();
- AppMainWindow::Inst().menu_clearScene();
- }
-
- /* Return some result values */
- Val.Int = 18249;
- oaAddResultValue("Score", OA_TYPE_INT, &Val);
-
- Val.Float = 29.14;
- oaAddResultValue("Some other score", OA_TYPE_FLOAT, &Val);
-
- /* oaStartBenchmark() must be called right after the last frame */
- oaEndBenchmark();
-}
-
-int AutomateInit(const char* opt)
-{
- oaVersion Version;
- if (!oaInit((const oaString)opt, &Version))
- {
- Error("OA did not initialize properly.");
- return 1;
- }
- g_isAutomateMode = true;
- return 0;
-}
-
-void AutomateRun()
-{
- oaCommand Command;
-
- oaInitCommand(&Command);
- switch(oaGetNextCommand(&Command))
- {
- /* No more commands, exit program */
- case OA_CMD_EXIT:
- AppMainWindow::Inst().close();
- return;
-
- /* Run as normal */
- case OA_CMD_RUN:
- break;
-
- /* Enumerate all in-game options */
- case OA_CMD_GET_ALL_OPTIONS:
- GetAllOptions();
- break;
-
- /* Return the option values currently set */
- case OA_CMD_GET_CURRENT_OPTIONS:
- GetCurrentOptions();
- break;
-
- /* Set all in-game options */
- case OA_CMD_SET_OPTIONS:
- SetOptions();
- break;
-
- /* Enumerate all known benchmarks */
- case OA_CMD_GET_BENCHMARKS:
- GetBenchmarks();
- break;
-
- /* Run benchmark */
- case OA_CMD_RUN_BENCHMARK:
- RunBenchmark(Command.BenchmarkName);
- break;
- }
-}
-
-bool IsAutomateMode()
-{
- return g_isAutomateMode;
-}
-
-bool GetAutomateInstallModeOption(int argc, char* argv[])
-{
- for (int idx = 1; idx < argc; ++idx)
- {
- if (!strcmp(argv[idx], "-install"))
- {
- return true;
- }
- }
- return false;
-}
-
-
-std::string GetAutomateOption(int argc, char* argv[])
-{
- for (int idx = 1; idx < argc; ++idx)
- {
- if (!strcmp(argv[idx], "-openautomate"))
- {
- if ((idx + 1) < argc)
- {
- return argv[idx+1];
- }
- else
- {
- Error("-openautomate option must have an argument.");
- return "";
- }
- }
- }
- return "";
-}
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Automate.h b/tools/ArtistTools/source/CoreLib/Utils/Automate.h
deleted file mode 100644
index 6f5de4f..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Automate.h
+++ /dev/null
@@ -1,23 +0,0 @@
-
-// Wrapper functions for OpenAutomate
-
-// Add application info into registry key for Automate
-// Return true if succeeded
-bool AutomateInstallApp();
-
-// Initialize OpenAutomate with its command line option. No need to cleanup
-int AutomateInit(const char* opt);
-
-// Call this function when the application is idle when IsAutomateMode() is true
-void AutomateRun();
-
-// Returns true if automate mode is initialized by AutomateInit() call
-bool IsAutomateMode();
-
-// Utility function to parse the command line option for OpenAutomate
-// Returns OpenAutomate option if it has. If not, returns empty string
-std::string GetAutomateOption(int argc, char* argv[]);
-
-// Returns true if it has "-install" in the command line option
-bool GetAutomateInstallModeOption(int argc, char* argv[]);
-
diff --git a/tools/ArtistTools/source/CoreLib/Utils/CoreLibUtils.h b/tools/ArtistTools/source/CoreLib/Utils/CoreLibUtils.h
deleted file mode 100644
index 6decd0c..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/CoreLibUtils.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013-2015 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-#pragma once
-
-#include <QtCore/QFile>
-#include <QtCore/QTemporaryFile>
-
-namespace utils {
-
-inline std::string GetTempFilePath()
-{
- QByteArray tempFilePath;
- QTemporaryFile tempFile;
- // temp file will be automatically deleted after this function
- tempFile.open();
- tempFilePath = tempFile.fileName().toLocal8Bit();
- return std::string(tempFilePath);
-}
-
-inline bool RenameFile(const char* srcFilePath, const char* targetFilePath, bool isOvewrite = false)
-{
- if (QFile::exists(targetFilePath))
- {
- if (isOvewrite == false) return false;
- if (!QFile::remove(targetFilePath)) return false;
- }
- return QFile::rename(srcFilePath, targetFilePath);
-}
-
-inline bool CopyFile(const char* srcFilePath, const char* targetFilePath, bool isOverwrite = false)
-{
- if (QFile::exists(targetFilePath))
- {
- if (isOverwrite == false) return false;
- if (!QFile::remove(targetFilePath)) return false;
- }
- return QFile::copy(srcFilePath, targetFilePath);
-}
-
-} // end of utils
diff --git a/tools/ArtistTools/source/CoreLib/Utils/MathUtil.cpp b/tools/ArtistTools/source/CoreLib/Utils/MathUtil.cpp
deleted file mode 100644
index bdb3a77..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/MathUtil.cpp
+++ /dev/null
@@ -1,327 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// This file contains wrapper functions to make hair lib easy to setup and use
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-#include "MathUtil.h"
-#include <string.h>
-
-////////////////////////////////////////////////////////////////////////////////////////
-void gfsdk_makeIdentity(atcore_float4x4& transform)
-{
- memset(&transform, 0, sizeof(atcore_float4x4));
- transform._11 = 1.0f;
- transform._22 = 1.0f;
- transform._33 = 1.0f;
- transform._44 = 1.0f;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-void gfsdk_makeTranslation(atcore_float4x4& m, const atcore_float3& t)
-{
- gfsdk_makeIdentity(m);
- m._41 = t.x;
- m._42 = t.y;
- m._43 = t.z;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-void gfsdk_makeScale(atcore_float4x4& m, const atcore_float3& s)
-{
- gfsdk_makeIdentity(m);
- m._11 = s.x;
- m._12 = s.y;
- m._13 = s.z;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-void gfsdk_makeRotation(atcore_float4x4& m, const atcore_float4& q)
-{
- gfsdk_makeIdentity(m);
-
- const float x = q.x;
- const float y = q.y;
- const float z = q.z;
- const float w = q.w;
-
- const float x2 = x + x;
- const float y2 = y + y;
- const float z2 = z + z;
-
- const float xx = x2*x;
- const float yy = y2*y;
- const float zz = z2*z;
-
- const float xy = x2*y;
- const float xz = x2*z;
- const float xw = x2*w;
-
- const float yz = y2*z;
- const float yw = y2*w;
- const float zw = z2*w;
-
- m._11 = 1.0f - yy - zz;
- m._12 = xy + zw;
- m._13 = xz - yw;
-
- m._21 = xy - zw;
- m._22 = 1.0f - xx - zz;
- m._23 = yz + xw;
-
- m._31 = xz + yw;
- m._32 = yz - xw;
- m._33 = 1.0f - xx - yy;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-atcore_float4x4 gfsdk_makeTransform(const atcore_float4& q, const atcore_float3& t, const atcore_float3 &s)
-{
- atcore_float4x4 m;
-
- gfsdk_makeRotation(m, q);
-
- m._11 *= s.x; m._12 *= s.x; m._13 *= s.x;
- m._21 *= s.y; m._22 *= s.y; m._23 *= s.y;
- m._31 *= s.z; m._32 *= s.z; m._33 *= s.z;
-
- m._41 = t.x;
- m._42 = t.y;
- m._43 = t.z;
-
- return m;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-atcore_float4 gfsdk_getRotation(const atcore_float4x4& sm)
-{
- atcore_float4x4 m = sm;
-
- gfsdk_orthonormalize(m);
-
- atcore_float4 q;
-
- float x,y,z,w;
-
- float tr = m._11 + m._22 + m._33, h;
- if(tr >= 0)
- {
- h = sqrt(tr +1);
- w = float(0.5) * h;
- h = float(0.5) / h;
-
- x = (m._23 - m._32) * h;
- y = (m._31 - m._13) * h;
- z = (m._12 - m._21) * h;
- }
- else
- {
- float max = m._11;
- int i = 0;
- if (m._22 > m._11)
- {
- i = 1;
- max = m._22;
- }
- if (m._33 > max)
- i = 2;
- switch (i)
- {
- case 0:
- h = sqrt((m._11 - (m._22 + m._33)) + 1);
- x = float(0.5) * h;
- h = float(0.5) / h;
-
- y = (m._21 + m._12) * h;
- z = (m._13 + m._31) * h;
- w = (m._23 - m._32) * h;
- break;
- case 1:
- h = sqrt((m._22 - (m._33 + m._11)) + 1);
- y = float(0.5) * h;
- h = float(0.5) / h;
-
- z = (m._32 + m._23) * h;
- x = (m._21 + m._12) * h;
- w = (m._31 - m._13) * h;
- break;
- case 2:
- h = sqrt((m._33 - (m._11 + m._22)) + 1);
- z = float(0.5) * h;
- h = float(0.5) / h;
-
- x = (m._13 + m._31) * h;
- y = (m._32 + m._23) * h;
- w = (m._12 - m._21) * h;
- break;
- default: // Make compiler happy
- x = y = z = w = 0;
- break;
- }
- }
-
- return gfsdk_makeFloat4(x,y,z,w);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-atcore_float4x4 gfsdk_lerp(atcore_float4x4& start, atcore_float4x4& end, float t)
-{
- atcore_float4 sq = gfsdk_getRotation(start);
- atcore_float4 eq = gfsdk_getRotation(end);
- atcore_float3 st = gfsdk_getTranslation(start);
- atcore_float3 et = gfsdk_getTranslation(end);
-
- atcore_float3 ss = gfsdk_getScale(start);
- atcore_float3 es = gfsdk_getScale(end);
- atcore_float3 s = gfsdk_lerp(ss, es, t);
-
- atcore_dualquaternion sdq = gfsdk_makeDQ(sq, st);
- atcore_dualquaternion edq = gfsdk_makeDQ(eq, et);
-
- atcore_dualquaternion dq = gfsdk_lerp(sdq, edq, t);
-
- atcore_float4 gr = getRotation(dq);
- atcore_float3 gt = getTranslation(dq);
-
- return gfsdk_makeTransform(gr, gt, s);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-atcore_float4x4 operator*(const atcore_float4x4& in1, const atcore_float4x4& in2)
-{
-#define MATRIX_SUM(OUT, IN1, IN2, ROW, COL) OUT._##ROW##COL = IN1._##ROW##1 * IN2._1##COL + IN1._##ROW##2 * IN2._2##COL + IN1._##ROW##3 * IN2._3##COL + IN1._##ROW##4 * IN2._4##COL;
-
- atcore_float4x4 out;
-
- MATRIX_SUM(out, in1, in2, 1, 1);
- MATRIX_SUM(out, in1, in2, 1, 2);
- MATRIX_SUM(out, in1, in2, 1, 3);
- MATRIX_SUM(out, in1, in2, 1, 4);
-
- MATRIX_SUM(out, in1, in2, 2, 1);
- MATRIX_SUM(out, in1, in2, 2, 2);
- MATRIX_SUM(out, in1, in2, 2, 3);
- MATRIX_SUM(out, in1, in2, 2, 4);
-
- MATRIX_SUM(out, in1, in2, 3, 1);
- MATRIX_SUM(out, in1, in2, 3, 2);
- MATRIX_SUM(out, in1, in2, 3, 3);
- MATRIX_SUM(out, in1, in2, 3, 4);
-
- MATRIX_SUM(out, in1, in2, 4, 1);
- MATRIX_SUM(out, in1, in2, 4, 2);
- MATRIX_SUM(out, in1, in2, 4, 3);
- MATRIX_SUM(out, in1, in2, 4, 4);
-
-#undef MATRIX_SUM
-
- return out;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-float
-gfsdk_getDeterminant(const atcore_float4x4& m)
-{
- const float* matrix = (const float*)&m;
-
- atcore_float3 p0 = gfsdk_makeFloat3(matrix[0*4+0], matrix[0*4+1], matrix[0*4+2]);
- atcore_float3 p1 = gfsdk_makeFloat3(matrix[1*4+0], matrix[1*4+1], matrix[1*4+2]);
- atcore_float3 p2 = gfsdk_makeFloat3(matrix[2*4+0], matrix[2*4+1], matrix[2*4+2]);
-
- atcore_float3 tempv = gfsdk_cross(p1,p2);
-
- return gfsdk_dot(p0, tempv);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-atcore_float4x4
-gfsdk_getSubMatrix(int ki,int kj, const atcore_float4x4& m)
-{
- atcore_float4x4 out;
- gfsdk_makeIdentity(out);
-
- float* pDst = (float*)&out;
- const float* matrix = (const float*)&m;
-
- int row, col;
- int dstCol = 0, dstRow = 0;
-
- for ( col = 0; col < 4; col++ )
- {
- if ( col == kj )
- {
- continue;
- }
- for ( dstRow = 0, row = 0; row < 4; row++ )
- {
- if ( row == ki )
- {
- continue;
- }
- pDst[dstCol*4+dstRow] = matrix[col*4+row];
- dstRow++;
- }
- dstCol++;
- }
-
- return out;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-atcore_float4x4 gfsdk_inverse(const atcore_float4x4& m)
-{
- atcore_float4x4 im;
-
- float* inverse_matrix = (float*)&im;
-
- float det = gfsdk_getDeterminant(m);
- det = 1.0f / det;
- for (int i = 0; i < 4; i++ )
- {
- for (int j = 0; j < 4; j++ )
- {
- int sign = 1 - ( ( i + j ) % 2 ) * 2;
-
- atcore_float4x4 subMat = gfsdk_getSubMatrix(i, j, m);
- float subDeterminant = gfsdk_getDeterminant(subMat);
-
- inverse_matrix[i*4+j] = ( subDeterminant * sign ) * det;
- }
- }
-
- return im;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-atcore_dualquaternion gfsdk_makeDQ(const atcore_float4x4& m)
-{
- atcore_float4 q = gfsdk_getRotation(m);
- atcore_float3 t = gfsdk_getTranslation(m);
-
- return gfsdk_makeDQ(q, t);
-}
diff --git a/tools/ArtistTools/source/CoreLib/Utils/MathUtil.h b/tools/ArtistTools/source/CoreLib/Utils/MathUtil.h
deleted file mode 100644
index 7b7a2a5..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/MathUtil.h
+++ /dev/null
@@ -1,557 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-#pragma once
-
-#include "corelib_global.h"
-#include "CoreLib.h"
-#include "math.h"
-#include "float.h"
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_lerp(float v1, float v2, float t)
-{
- return (1.0f - t) * v1 + t * v2;
-}
-
-inline float gfsdk_min(float x, float y) {
- return (x < y) ? x : y;
-}
-
-inline float gfsdk_max(float x, float y) {
- return (x > y) ? x : y;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float2 gfsdk_makeFloat2(float x, float y)
-{
- atcore_float2 v;
- v.x = x;
- v.y = y;
- return v;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float2 operator*(float s, const atcore_float2 &p)
-{
- return gfsdk_makeFloat2(s * p.x, s * p.y);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float2 operator*(const atcore_float2 &p, float s)
-{
- return gfsdk_makeFloat2(s * p.x, s * p.y);
-}
-
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_makeFloat3(float x, float y, float z)
-{
- atcore_float3 v;
- v.x = x;
- v.y = y;
- v.z = z;
- return v;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 operator+(const atcore_float3 &p0, const atcore_float3 &p1)
-{
- return gfsdk_makeFloat3(p0.x + p1.x, p0.y + p1.y, p0.z + p1.z);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3& operator+=(atcore_float3 &v, const atcore_float3 & v1)
-{
- v.x += v1.x; v.y += v1.y; v.z += v1.z;
- return v;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 operator-(const atcore_float3 &p0, const atcore_float3 &p1)
-{
- return gfsdk_makeFloat3(p0.x - p1.x, p0.y - p1.y, p0.z - p1.z);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3& operator-=(atcore_float3 &v, const atcore_float3 & v1)
-{
- v.x -= v1.x; v.y -= v1.y; v.z -= v1.z;
- return v;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 operator*(float s, const atcore_float3 &p)
-{
- return gfsdk_makeFloat3(s * p.x, s * p.y, s * p.z);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 operator*(const atcore_float3 &p, float s)
-{
- return gfsdk_makeFloat3(s * p.x, s * p.y, s * p.z);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_dot(const atcore_float3& v0, const atcore_float3 &v1) {
- return v0.x * v1.x + v0.y * v1.y + v0.z * v1.z;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_lengthSquared(const atcore_float3& v) {
- return gfsdk_dot(v,v);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_length(const atcore_float3 &v) {
- return sqrt(gfsdk_lengthSquared(v));
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_distance(const atcore_float3 &v1, const atcore_float3 &v2) {
- return gfsdk_length(v2-v1);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline const atcore_float3& gfsdk_normalize(atcore_float3 &v) {
- float l = gfsdk_length(v);
- if (l != 0) { v.x /= l; v.y /= l; v.z /= l; }
- return v;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_cross(const atcore_float3& v1, const atcore_float3& v2)
-{
- return gfsdk_makeFloat3(
- v1.y * v2.z - v1.z * v2.y,
- v1.z * v2.x - v1.x * v2.z,
- v1.x * v2.y - v1.y * v2.x);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_lerp(const atcore_float3& v1, const atcore_float3& v2, float t)
-{
- return gfsdk_makeFloat3(gfsdk_lerp(v1.x, v2.x, t), gfsdk_lerp(v1.y, v2.y, t), gfsdk_lerp(v1.z, v2.z, t));
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_min(const atcore_float3& v1, const atcore_float3 &v2)
-{
- return gfsdk_makeFloat3(
- gfsdk_min(v1.x, v2.x),
- gfsdk_min(v1.y, v2.y),
- gfsdk_min(v1.z, v2.z)
- );
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_max(const atcore_float3& v1, const atcore_float3 &v2)
-{
- return gfsdk_makeFloat3(
- gfsdk_max(v1.x, v2.x),
- gfsdk_max(v1.y, v2.y),
- gfsdk_max(v1.z, v2.z)
- );
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_min(const atcore_float3 &v)
-{
- return gfsdk_min(gfsdk_min(v.x, v.y), v.z);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_max(const atcore_float3 &v)
-{
- return gfsdk_max(gfsdk_max(v.x, v.y), v.z);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// float4
-////////////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 gfsdk_makeFloat4(float x = 0.0f, float y = 0.0f, float z = 0.0f, float w = 0.0f)
-{
- atcore_float4 v;
- v.x = x;
- v.y = y;
- v.z = z;
- v.w = w;
- return v;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 gfsdk_makeFloat4(const atcore_float3& v, float w)
-{
- return gfsdk_makeFloat4(v.x, v.y, v.z, w);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4& operator+=(atcore_float4 &v, const atcore_float4 & v1)
-{
- v.x += v1.x; v.y += v1.y; v.z += v1.z; v.w += v1.w;
- return v;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 operator*(float s, const atcore_float4 &p)
-{
- return gfsdk_makeFloat4(s * p.x, s * p.y, s * p.z, s * p.w);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 operator*(const atcore_float4 &p, float s)
-{
- return gfsdk_makeFloat4(s * p.x, s * p.y, s * p.z, s * p.w);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_dot(const atcore_float4& v0, const atcore_float4 &v1) {
- return v0.x * v1.x + v0.y * v1.y + v0.z * v1.z + v0.w * v1.w;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_lengthSquared(const atcore_float4& v) {
- return gfsdk_dot(v,v);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline float gfsdk_length(const atcore_float4 &v) {
- return sqrt(gfsdk_lengthSquared(v));
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline const atcore_float4 gfsdk_normalize(const atcore_float4 &v) {
- atcore_float4 nv = v;
-
- float l = gfsdk_length(nv);
- if (l > FLT_EPSILON)
- {
- const float s = 1.0f / l;
-
- nv.x *= s;
- nv.y *= s;
- nv.z *= s;
- nv.w *= s;
- }
-
- return nv;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 gfsdk_lerp(const atcore_float4& v1, const atcore_float4& v2, float t)
-{
- return gfsdk_makeFloat4(
- gfsdk_lerp(v1.x, v2.x, t),
- gfsdk_lerp(v1.y, v2.y, t),
- gfsdk_lerp(v1.z, v2.z, t),
- gfsdk_lerp(v1.w, v2.w, t)
- );
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// quaternion
-///////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 gfsdk_quaternionConjugate(const atcore_float4& in)
-{
- return gfsdk_makeFloat4(-in.x, -in.y, -in.z, in.w);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 gfsdk_quaternionMultiply(const atcore_float4& q0, const atcore_float4& q1)
-{
- atcore_float4 q;
-
- const float tx = q0.w * q1.x + q0.x * q1.w + q0.y * q1.z - q0.z * q1.y;
- const float ty = q0.w * q1.y + q0.y * q1.w + q0.z * q1.x - q0.x * q1.z;
- const float tz = q0.w * q1.z + q0.z * q1.w + q0.x * q1.y - q0.y * q1.x;
-
- q.w = q0.w * q1.w - q0.x * q1.x - q0.y * q1.y - q0.z * q1.z;
- q.x = tx;
- q.y = ty;
- q.z = tz;
-
- return q;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// 4x4 matrix
-////////////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////////////////////
-CORELIB_EXPORT void gfsdk_makeIdentity(atcore_float4x4& transform);
-CORELIB_EXPORT void gfsdk_makeTranslation(atcore_float4x4& m, const atcore_float3& t);
-CORELIB_EXPORT void gfsdk_makeScale(atcore_float4x4& m, const atcore_float3& s);
-CORELIB_EXPORT void gfsdk_makeRotation(atcore_float4x4& m, const atcore_float4& q);
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4x4& operator*=(atcore_float4x4& m, float s)
-{
- float* data = (float*)&m;
- for (int i = 0; i < 16; i++)
- data[i] *= s;
-
- return m;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline void gfsdk_setPosition(atcore_float4x4&m, const atcore_float3& v)
-{
- m._41 = v.x;
- m._42 = v.y;
- m._43 = v.z;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4x4 gfsdk_transpose(const atcore_float4x4& m)
-{
- atcore_float4x4 om;
-
- om._11 = m._11; om._12 = m._21; om._13 = m._31; om._14 = m._41;
- om._21 = m._12; om._22 = m._22; om._23 = m._32; om._24 = m._42;
- om._31 = m._13; om._32 = m._23; om._33 = m._33; om._34 = m._43;
- om._41 = m._14; om._42 = m._24; om._43 = m._34; om._44 = m._44;
-
- return om;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4x4& operator+=(atcore_float4x4& m1, const atcore_float4x4& m2)
-{
- float* data1 = (float*)&m1;
- float* data2 = (float*)&m2;
-
- for (int i = 0; i < 16; i++)
- data1[i] += data2[i];
-
- return m1;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 gfsdk_transform(const atcore_float4x4 &m, atcore_float4 op)
-{
- atcore_float4 p;
-
- p.x = op.x * m._11 + op.y * m._21 + op.z * m._31 + op.w * m._41;
- p.y = op.x * m._12 + op.y * m._22 + op.z * m._32 + op.w * m._42;
- p.z = op.x * m._13 + op.y * m._23 + op.z * m._33 + op.w * m._43;
- p.w = op.x * m._14 + op.y * m._24 + op.z * m._34 + op.w * m._44;
-
- return p;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_transformCoord(const atcore_float4x4 &m, atcore_float3 op)
-{
- atcore_float3 p;
-
- p.x = op.x * m._11 + op.y * m._21 + op.z * m._31 + m._41;
- p.y = op.x * m._12 + op.y * m._22 + op.z * m._32 + m._42;
- p.z = op.x * m._13 + op.y * m._23 + op.z * m._33 + m._43;
-
- return p;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_transformVector(const atcore_float4x4 &m, atcore_float3 op)
-{
- atcore_float3 p;
-
- p.x = op.x * m._11 + op.y * m._21 + op.z * m._31;
- p.y = op.x * m._12 + op.y * m._22 + op.z * m._32;
- p.z = op.x * m._13 + op.y * m._23 + op.z * m._33;
-
- return p;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_getScale(const atcore_float4x4& m)
-{
- atcore_float3 ax = gfsdk_makeFloat3(m._11, m._12, m._13);
- atcore_float3 ay = gfsdk_makeFloat3(m._21, m._22, m._23);
- atcore_float3 az = gfsdk_makeFloat3(m._31, m._32, m._33);
-
- return gfsdk_makeFloat3(gfsdk_length(ax), gfsdk_length(ay), gfsdk_length(az));
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_getTranslation(const atcore_float4x4& m)
-{
- return gfsdk_makeFloat3(m._41, m._42, m._43);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline void gfsdk_setTranslation(atcore_float4x4& m, const atcore_float3 &v)
-{
- m._41 = v.x;
- m._42 = v.y;
- m._43 = v.z;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline const atcore_float4x4& gfsdk_orthonormalize(atcore_float4x4& m)
-{
- atcore_float3 ax = gfsdk_makeFloat3(m._11, m._12, m._13);
- atcore_float3 ay = gfsdk_makeFloat3(m._21, m._22, m._23);
- atcore_float3 az = gfsdk_makeFloat3(m._31, m._32, m._33);
-
- gfsdk_normalize(ax);
- gfsdk_normalize(ay);
- gfsdk_normalize(az);
-
- m._11 = ax.x; m._12 = ax.y; m._13 = ax.z;
- m._21 = ay.x; m._22 = ay.y; m._23 = ay.z;
- m._31 = az.x; m._32 = az.y; m._33 = az.z;
-
- return m;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-CORELIB_EXPORT atcore_float4x4 gfsdk_lerp(atcore_float4x4& start, atcore_float4x4& end, float t);
-
-////////////////////////////////////////////////////////////////////////////////
-CORELIB_EXPORT atcore_float4 gfsdk_getRotation(const atcore_float4x4& m);
-
-////////////////////////////////////////////////////////////////////////////////
-CORELIB_EXPORT atcore_float4x4 gfsdk_makeTransform(const atcore_float4& q, const atcore_float3& t, const atcore_float3 &s);
-
-////////////////////////////////////////////////////////////////////////////////
-CORELIB_EXPORT atcore_float4x4 operator*(const atcore_float4x4& in1, const atcore_float4x4& in2);
-
-////////////////////////////////////////////////////////////////////////////////
-CORELIB_EXPORT atcore_float4x4 gfsdk_inverse(const atcore_float4x4& m);
-
-////////////////////////////////////////////////////////////////////////////////
-// dual quaternion
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_dualquaternion gfsdk_makeDQ(const atcore_float4& q, const atcore_float3& t)
-{
- atcore_dualquaternion dq;
-
- dq.q0 = gfsdk_normalize(q);
- dq.q1 = gfsdk_quaternionMultiply(gfsdk_makeFloat4(t, 0), dq.q0) * 0.5f;
-
- return dq;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-atcore_dualquaternion gfsdk_makeDQ(const atcore_float4x4& m);
-
-////////////////////////////////////////////////////////////////////////////////
-inline const atcore_dualquaternion& gfsdk_normalize(atcore_dualquaternion & dq)
-{
- float mag = gfsdk_dot( dq.q0, dq.q0);
- float deLen = 1.0f / sqrt(mag+FLT_EPSILON);
-
- dq.q0 = dq.q0 * deLen;
- dq.q1 = dq.q1 * deLen;
-
- return dq;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_dualquaternion operator*(float s, const atcore_dualquaternion & dq)
-{
- return atcore_dualquaternion(s * dq.q0, s * dq.q1);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_dualquaternion operator*(const atcore_dualquaternion & dq, float s)
-{
- return atcore_dualquaternion(s * dq.q0, s * dq.q1);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_dualquaternion& operator+=(atcore_dualquaternion &dq, const atcore_dualquaternion & dq2)
-{
- // hemispherization
- float sign = (gfsdk_dot(dq.q0, dq2.q0) < -FLT_EPSILON) ? -1.0f: 1.0f;
-
- dq.q0 += sign * dq2.q0;
- dq.q1 += sign * dq2.q1;
-
- return dq;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_dualquaternion gfsdk_lerp(const atcore_dualquaternion &dq1, const atcore_dualquaternion & dq2, float t)
-{
- atcore_dualquaternion dq = dq1 * (1.0f - t);
-
- float sign = (gfsdk_dot(dq1.q0, dq2.q0) < -FLT_EPSILON) ? -1.0f: 1.0f;
-
- dq += (t * sign) * dq2;
- gfsdk_normalize(dq);
-
- return dq;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_transformCoord(const atcore_dualquaternion& dq, const atcore_float3 &vecIn)
-{
- atcore_float3 d0 = gfsdk_makeFloat3(dq.q0.x, dq.q0.y, dq.q0.z);
- atcore_float3 de = gfsdk_makeFloat3(dq.q1.x, dq.q1.y, dq.q1.z);
- float a0 = dq.q0.w;
- float ae = dq.q1.w;
-
- atcore_float3 temp = gfsdk_cross( d0, vecIn ) + a0 * vecIn;
- atcore_float3 temp2 = 2.0f * (a0 * de - ae * d0 + gfsdk_cross(d0, de));
-
- return vecIn + temp2 + 2.0f * gfsdk_cross( d0, temp);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 gfsdk_transformVector(const atcore_dualquaternion& dq, const atcore_float3 &vecIn)
-{
- atcore_float3 d0 = gfsdk_makeFloat3(dq.q0.x, dq.q0.y, dq.q0.z);
- atcore_float3 de = gfsdk_makeFloat3(dq.q1.x, dq.q1.y, dq.q1.z);
- float a0 = dq.q0.w;
- float ae = dq.q1.w;
-
- atcore_float3 temp = gfsdk_cross( d0, vecIn ) + a0 * vecIn;
- return vecIn + 2.0f * gfsdk_cross( d0, temp);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float4 getRotation(const atcore_dualquaternion& dq)
-{
- return dq.q0;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-inline atcore_float3 getTranslation(const atcore_dualquaternion& dq)
-{
- atcore_float4 dual = 2.0f * dq.q1;
- atcore_float4 t = gfsdk_quaternionMultiply(dual, gfsdk_quaternionConjugate( dq.q0 ));
-
- return gfsdk_makeFloat3(t.x, t.y, t.z);
-}
-
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Profiler.cpp b/tools/ArtistTools/source/CoreLib/Utils/Profiler.cpp
deleted file mode 100644
index aab4de3..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Profiler.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-
-#pragma once
-
-#include "nvToolsExt.h"
-#include <stdlib.h> // for rand()
-
-void ProfilerRangePush(const char* name) {
- unsigned int color = 0xFF000000 | ((rand()%256) << 16) | ((rand()%256) << 8) | (rand()%256);
- // Zero the structure
- nvtxEventAttributes_t event_attrib = {0};
- // Set the version and the size information
- event_attrib.version = NVTX_VERSION;
- event_attrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
- // Configure the attributes. 0 is the default for all attributes
- event_attrib.colorType = NVTX_COLOR_ARGB;
- event_attrib.color = color;
- event_attrib.messageType = NVTX_MESSAGE_TYPE_ASCII;
- event_attrib.message.ascii = name;
- nvtxRangePushEx(&event_attrib);
-}
-
-void ProfilerRangePush(const char* name, unsigned int color) {
- // Zero the structure
- nvtxEventAttributes_t event_attrib = {0};
- // Set the version and the size information
- event_attrib.version = NVTX_VERSION;
- event_attrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE;
- // Configure the attributes. 0 is the default for all attributes
- event_attrib.colorType = NVTX_COLOR_ARGB;
- event_attrib.color = color;
- event_attrib.messageType = NVTX_MESSAGE_TYPE_ASCII;
- event_attrib.message.ascii = name;
- nvtxRangePushEx(&event_attrib);
-}
-
-void ProfilerRangePop() {
- nvtxRangePop();
-}
-
-#include "Profiler.h"
-
-ScopedProfiler::ScopedProfiler(const char* name)
-{
- ProfilerRangePush(name);
-}
-
-ScopedProfiler::ScopedProfiler(const char* name, unsigned int color)
-{
- ProfilerRangePush(name, color);
-}
-
-ScopedProfiler::~ScopedProfiler()
-{
- ProfilerRangePop();
-}
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Profiler.h b/tools/ArtistTools/source/CoreLib/Utils/Profiler.h
deleted file mode 100644
index 5f00175..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Profiler.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-
-#pragma once
-
-#include "corelib_global.h"
-
-// name - the name to be displayed
-void ProfilerRangePush(const char* name);
-
-// name - the name to be displayed
-// color - ARGB color. ex) 0xFFFF0000 = Red, 0xFF0000FF = Blue
-void ProfilerRangePush(const char* name, unsigned int color);
-
-void ProfilerRangePop();
-
-struct CORELIB_EXPORT ScopedProfiler
-{
- ScopedProfiler(const char* name);
-
- ScopedProfiler(const char* name, unsigned int color);
-
- ~ScopedProfiler();
-};
-
-#define FUNCTION_PROFILER() ScopedProfiler _scoped_function_profiler(__FUNCTION__);
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Settings.cpp b/tools/ArtistTools/source/CoreLib/Utils/Settings.cpp
deleted file mode 100644
index 5445bef..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Settings.cpp
+++ /dev/null
@@ -1,767 +0,0 @@
-/*******************************************************************************
-* NVIDIA Corporation
-* Software License Agreement - OpenAutomate SDK
-*
-* IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING
-* Do not use or load the OpenAutomate SDK and any associated materials
-* provided by NVIDIA on NVIDIA�s website (collectively, the "Software")
-* until You have carefully read the following terms and conditions. By
-* loading or using the Software, You agree to fully comply with the terms
-* and conditions of this Software License Agreement ("Agreement") by and
-* between NVIDIA Corporation, a Delaware corporation with its principal
-* place of business at 2701 San Tomas Expressway, Santa Clara, California
-* 95050 U.S.A. ("NVIDIA"), and You. If You do not wish to so agree, do not
-* install or use the Software.
-*
-* For the purposes of this Agreement:
-*
-* "Licensee," "You" and/or "Your" shall mean, collectively and
-* individually, Original Equipment Manufacturers, Independent Hardware
-* Vendors, Independent Software Vendors, and End-Users of the Software
-* pursuant to the terms and conditions of this Agreement.
-*
-* "Derivative Works" shall mean derivatives of the Software created by You
-* or a third party on Your behalf, which term shall include: (a) for
-* copyrightable or copyrighted material, any translation, abridgement,
-* revision or other form in which an existing work may be recast,
-* transformed or adapted; (b) for work protected by topography or mask
-* right, any translation, abridgement, revision or other form in which an
-* existing work may be recast, transformed or adapted; (c) for patentable
-* or patented material, any Improvement; and (d) for material protected by
-* trade secret, any new material derived from or employing such existing
-* trade secret.
-*
-* "Excluded License" is any license that requires as a condition of use,
-* modification and/or distribution of software subject to the Excluded
-* License, that such software or other software distributed and/or
-* combined with such software be (i) disclosed or distributed in source
-* code form, (ii) licensed for the purpose of making derivative works, or
-* (iii) redistributable at no charge.
-*
-* SECTION 1 - GRANT OF LICENSE.
-* NVIDIA agrees to provide the Software and any associated materials
-* pursuant to the terms and conditions of this Agreement. Subject to the
-* terms of this Agreement, NVIDIA grants to You a nonexclusive,
-* transferable, worldwide, revocable, limited, royalty-free, fully paid-up
-* license under NVIDIA�s copyrights to
-*
-* (a) install, deploy, use, have used execute, reproduce, display,
-* perform, run, modify the source code of the Software, or to prepare and
-* have prepared Derivative Works thereof the Software for Your own
-* internal development, testing and maintenance purposes to incorporate
-* the Software or Derivative Works thereof, in part or whole, into Your
-* software applications;
-*
-* (b) to transfer, distribute and sublicense the Software (in its
-* unmodified form as delivered to You by NVIDIA pursuant to this
-* Agreement) in any medium or technology for Your sublicensees to
-* incorporate the Software or Derivative Works thereof, in part or whole,
-* into their respective software applications; and
-*
-* (c) to transfer, distribute and sublicense Derivative Works (in object
-* code only) of the Software (i)_as incorporated in Your application
-* software in any medium or technology; and (ii) certified as OpenAutomate
-* Compatible Software.
-*
-* You may exercise your license rights pursuant to Subsection 1(b) and (c)
-* above pursuant to the terms and conditions of any form of end-user
-* software license agreement of Your choice, including but not limited to
-* an Excluded License.
-*
-* In the event NVIDIA certifies Your application software, incorporating
-* the Derivative Works (in object code only) of the Software, as
-* OpenAutomate compatible ("OpenAutomate Compatible Software"), NVIDIA
-* grants You a nonexclusive, worldwide, revocable, paid-up license to use
-* the name and trademark to "OpenAutomate Compatible" solely for the
-* purposes of identifying and/or marketing Your application software as
-* OpenAutomate Compatible Software; provided that Licensee fully complies
-* with the following:
-*
-* (x) Licensee agrees that it is strictly prohibited from using the name
-* and trademark of "OpenAutomate Compatible" if Your application software
-* is not OpenAutomate Compatible Software;
-*
-* (y) if NVIDIA objects to Your improper use of the "OpenAutomate
-* Compatible" name and trademark, You will take all reasonable steps
-* necessary to resolve NVIDIA�s objections. NVIDIA may reasonably monitor
-* the quality of Your application software bearing the "OpenAutomate
-* Compatible" name or trademark pursuant to this Agreement; and
-*
-* (z) any goodwill attached to NVIDIA�s trademarks, service marks, or
-* trade names belong to NVIDIA and this Agreement does not grant You any
-* right to use them.
-*
-* If You are not the final manufacturer or vendor of a computer system or
-* software program incorporating the Software, or if Your Contractors (as
-* defined below), affiliates or subsidiaries need to exercise any, some or
-* all of the license grant described above herein to the Software on Your
-* behalf, then You may transfer a copy of the Software, (and related
-* end-user documentation) to such recipient for use in accordance with the
-* terms of this Agreement, provided such recipient agrees to be fully
-* bound by the terms hereof. Except as expressly permitted in this
-* Agreement, Unless otherwise authorized in the Agreement, You shall not
-* otherwise assign, sublicense, lease, or in any other way transfer or
-* disclose Software to any third party. Unless otherwise authorized in the
-* Agreement, You shall not reverse- compile, disassemble,
-* reverse-engineer, or in any manner attempt to derive the source code of
-* the Software from the object code portions of the Software.
-*
-* Except as expressly stated in this Agreement, no license or right is
-* granted to You directly or by implication, inducement, estoppel or
-* otherwise. NVIDIA shall have the right to inspect or have an independent
-* auditor inspect Your relevant records to verify Your compliance with the
-* terms and conditions of this Agreement.
-*
-* SECTION 2 - CONFIDENTIALITY.
-* If applicable, any exchange of Confidential Information (as defined in
-* the NDA) shall be made pursuant to the terms and conditions of a
-* separately signed Non-Disclosure Agreement ("NDA") by and between NVIDIA
-* and You. For the sake of clarity, You agree that the Software is
-* Confidential Information of NVIDIA.
-*
-* If You wish to have a third party consultant or subcontractor
-* ("Contractor") perform work on Your behalf which involves access to or
-* use of Software, You shall obtain a written confidentiality agreement
-* from the Contractor which contains terms and obligations with respect to
-* access to or use of Software no less restrictive than those set forth in
-* this Agreement and excluding any distribution or sublicense rights, and
-* use for any other purpose than permitted in this Agreement. Otherwise,
-* You shall not disclose the terms or existence of this Agreement or use
-* NVIDIA's name in any publications, advertisements, or other
-* announcements without NVIDIA's prior written consent. Unless otherwise
-* provided in this Agreement, You do not have any rights to use any NVIDIA
-* trademarks or logos.
-*
-* SECTION 3 - OWNERSHIP OF SOFTWARE AND INTELLECTUAL PROPERTY RIGHTS.
-* All rights, title and interest to all copies of the Software remain with
-* NVIDIA, subsidiaries, licensors, or its suppliers. The Software is
-* copyrighted and protected by the laws of the United States and other
-* countries, and international treaty provisions. You may not remove any
-* copyright notices from the Software. NVIDIA may make changes to the
-* Software, or to items referenced therein, at any time and without
-* notice, but is not obligated to support or update the Software. Except
-* as otherwise expressly provided, NVIDIA grants no express or implied
-* right under any NVIDIA patents, copyrights, trademarks, or other
-* intellectual property rights.
-*
-* All rights, title and interest in the Derivative Works of the Software
-* remain with You subject to the underlying license from NVIDIA to the
-* Software. In Your sole discretion, You may grant NVIDIA, upon NVIDIA�s
-* request for such a license described herein, an irrevocable, perpetual,
-* nonexclusive, worldwide, royalty-free paid-up license to make, have
-* made, use, have used, sell, license, distribute, sublicense or otherwise
-* transfer Derivative Works created by You that add functionality or
-* improvement to the Software.
-*
-* You has no obligation to give NVIDIA any suggestions, comments or other
-* feedback ("Feedback") relating to the Software. However, NVIDIA may use
-* and include any Feedback that You voluntarily provide to improve the
-* Software or other related NVIDIA technologies. Accordingly, if You
-* provide Feedback, You agree NVIDIA and its licensees may freely use,
-* reproduce, license, distribute, and otherwise commercialize the Feedback
-* in the Software or other related technologies without the payment of any
-* royalties or fees.
-*
-* You may transfer the Software only if the recipient agrees to be fully
-* bound by these terms and conditions of this Agreement.
-*
-* SECTION 4 - NO WARRANTIES.
-* THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY
-* OF ANY KIND, INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT,
-* OR FITNESS FOR A PARTICULAR PURPOSE. NVIDIA does not warrant or assume
-* responsibility for the accuracy or completeness of any information,
-* text, graphics, links or other items contained within the Software.
-* NVIDIA does not represent that errors or other defects will be
-* identified or corrected.
-*
-* SECTION 5 - LIMITATION OF LIABILITY.
-* EXCEPT WITH RESPECT TO THE MISUSE OF THE OTHER PARTY�S INTELLECTUAL
-* PROPERTY OR DISCLOSURE OF THE OTHER PARTY�S CONFIDENTIAL INFORMATION IN
-* BREACH OF THIS AGREEMENT, IN NO EVENT SHALL NVIDIA, SUBSIDIARIES,
-* LICENSORS, OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER
-* (INCLUDING, WITHOUT LIMITATION, INDIRECT, LOST PROFITS, CONSEQUENTIAL,
-* BUSINESS INTERRUPTION OR LOST INFORMATION) ARISING OUT OF THE USE OF OR
-* INABILITY TO USE THE SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
-* POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR
-* LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR
-* INCIDENTAL DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU
-* MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO
-* JURISDICTION. NOTWITHSTANDING THE FOREGOING, NVIDIA�S AGGREGATE
-* LIABILITY ARISING OUT OF THIS AGREEMENT SHALL NOT EXCEED ONE HUNDRED
-* UNITED STATES DOLLARS (USD$100).
-*
-* SECTION 6 - TERM.
-* This Agreement and the licenses granted hereunder shall be effective as
-* of the date You download the applicable Software ("Effective Date") and
-* continue for a period of one (1) year ("Initial Term") respectively,
-* unless terminated earlier in accordance with the "Termination" provision
-* of this Agreement. Unless either party notifies the other party of its
-* intent to terminate this Agreement at least three (3) months prior to
-* the end of the Initial Term or the applicable renewal period, this
-* Agreement will be automatically renewed for one (1) year renewal periods
-* thereafter, unless terminated in accordance with the "Termination"
-* provision of this Agreement.
-*
-* SECTION 7 - TERMINATION.
-* NVIDIA may terminate this Agreement at any time if You violate its
-* terms. Upon termination, You will immediately destroy the Software or
-* return all copies of the Software to NVIDIA, and certify to NVIDIA in
-* writing that such actions have been completed. Upon termination or
-* expiration of this Agreement the license grants to Licensee shall
-* terminate, except that sublicenses rightfully granted by Licensee under
-* this Agreement in connection with Section 1(b) and (c) of this Agreement
-* provided by Licensee prior to the termination or expiration of this
-* Agreement shall survive in accordance with their respective form of
-* license terms and conditions.
-*
-* SECTION 8 - MISCELLANEOUS.
-*
-* SECTION 8.1 - SURVIVAL.
-* Those provisions in this Agreement, which by their nature need to
-* survive the termination or expiration of this Agreement, shall survive
-* termination or expiration of the Agreement, including but not limited to
-* Sections 2, 3, 4, 5, 7, and 8.
-*
-* SECTION 8.2 - APPLICABLE LAWS.
-* Claims arising under this Agreement shall be governed by the laws of
-* Delaware, excluding its principles of conflict of laws and the United
-* Nations Convention on Contracts for the Sale of Goods. The state and/or
-* federal courts residing in Santa Clara County, California shall have
-* exclusive jurisdiction over any dispute or claim arising out of this
-* Agreement. You may not export the Software in violation of applicable
-* export laws and regulations.
-*
-* SECTION 8.3 - AMENDMENT.
-* The Agreement shall not be modified except by a written agreement that
-* names this Agreement and any provision to be modified, is dated
-* subsequent to the Effective Date, and is signed by duly authorized
-* representatives of both parties.
-*
-* SECTION 8.4 - NO WAIVER.
-* No failure or delay on the part of either party in the exercise of any
-* right, power or remedy under this Agreement or under law, or to insist
-* upon or enforce performance by the other party of any of the provisions
-* of this Agreement or under law, shall operate as a waiver thereof, nor
-* shall any single or partial exercise of any right, power or remedy
-* preclude other or further exercise thereof, or the exercise of any other
-* right, power or remedy; rather the provision, right, or remedy shall be
-* and remain in full force and effect.
-*
-* SECTION 8.5 - NO ASSIGNMENT.
-* This Agreement and Licensee�s rights and obligations herein, may not be
-* assigned, subcontracted, delegated, or otherwise transferred by Licensee
-* without NVIDIA�s prior written consent, and any attempted assignment,
-* subcontract, delegation, or transfer in violation of the foregoing will
-* be null and void. The terms of this Agreement shall be binding upon
-* Licensee�s assignees.
-*
-* SECTION 8.6 - GOVERNMENT RESTRICTED RIGHTS.
-* The parties acknowledge that the Software is subject to U.S. export
-* control laws and regulations. The parties agree to comply with all
-* applicable international and national laws that apply to the Software,
-* including the U.S. Export Administration Regulations, as well as
-* end-user, end-use and destination restrictions issued by U.S. and other
-* governments.
-*
-* The Software has been developed entirely at private expense and is
-* commercial computer software provided with RESTRICTED RIGHTS. Use,
-* duplication or disclosure of the Software by the U.S. Government or a
-* U.S. Government subcontractor is subject to the restrictions set forth
-* in the Agreement under which the Software was obtained pursuant to DFARS
-* 227.7202-3(a) or as set forth in subparagraphs (c)(1) and (2) of the
-* Commercial Computer Software - Restricted Rights clause at FAR
-* 52.227-19, as applicable. Contractor/manufacturer is NVIDIA, 2701 San
-* Tomas Expressway, Santa Clara, CA 95050. Use of the Software by the
-* Government constitutes acknowledgment of NVIDIA's proprietary rights
-* therein.
-*
-* SECTION 8.7 - INDEPENDENT CONTRACTORS.
-* Licensee�s relationship to NVIDIA is that of an independent contractor,
-* and neither party is an agent or partner of the other. Licensee will
-* not have, and will not represent to any third party that it has, any
-* authority to act on behalf of NVIDIA.
-*
-* SECTION 8.8 - SEVERABILITY.
-* If for any reason a court of competent jurisdiction finds any provision
-* of this Agreement, or portion thereof, to be unenforceable, that
-* provision of the Agreement will be enforced to the maximum extent
-* permissible so as to affect the intent of the parties, and the remainder
-* of this Agreement will continue in full force and effect. This Agreement
-* has been negotiated by the parties and their respective counsel and will
-* be interpreted fairly in accordance with its terms and without any
-* strict construction in favor of or against either party.
-*
-* SECTION 8.9 - ENTIRE AGREEMENT.
-* This Agreement and NDA constitute the entire agreement between the
-* parties with respect to the subject matter contemplated herein, and
-* merges all prior and contemporaneous communications.
-*
-******************************************************************************/
-
-
-#include "settings.h"
-#include "Nv.h"
-
-char OptionsFileName[] = "FurViewerOptions.txt";
-//std::vector<void *> AllocBlocks;
-
-using namespace std;
-
-void Error(const char *fmt, ...);
-static int HexCharToInt(unsigned char c);
-bool GetExePath(char* exe_path);
-static int Hex2BytesToInt(const unsigned char *buf);
-static oaFloat StrToFloat(const char *buf);
-static void WriteFloat(FILE *fp, oaFloat val);
-static void StripNewLine(char *str);
-void *Alloc(size_t n);
-char *StrDup(const char *str);
-
-bool GetExePath(char* exe_path)
-{
-#if WIN32
- char delim = '\\';
-#else
- char delim = '/';
-#endif
-
- DWORD dwRet;
- dwRet = GetModuleFileNameA(NV_NULL, exe_path, MAX_PATH);
- if ( dwRet == 0 )
- {
- exe_path[0] = '\0';
- return false;
- }
-
- int i;
- for ( i = dwRet; i > 0; i-- )
- {
- if ( exe_path[i-1] == delim )
- break;
- }
- exe_path[i] = '\0';
-
- return true;
-}
-
-void Error(const char *fmt, ...)
-{
- va_list AP;
- va_start(AP, fmt);
-
- char msg[1024];
- //fprintf(msg, "ERROR: ");
- //vfprintf(msg, fmt, AP);
- //fprintf(msg, "\n");
- sprintf(msg, fmt, AP);
- OutputDebugStringA(msg);
- assert(0);
-// exit(-1);
-}
-
-static int HexCharToInt(unsigned char c)
-{
- if(c >= '0' && c <= '9')
- return((int)(c - '0'));
-
- c = tolower(c);
- if(c >= 'a' && c <= 'f')
- return((int)(c - 'a' + 10));
-
- return(0);
-}
-
-static int Hex2BytesToInt(const unsigned char *buf)
-{
- return(HexCharToInt(buf[0]) << 4 | HexCharToInt(buf[1]));
-}
-
-static oaFloat StrToFloat(const char *buf)
-{
- size_t Len = strlen(buf);
- if(Len != sizeof(oaFloat) * 2)
- return(0.0);
-
- oaFloat Ret;
- unsigned char *Buf = (unsigned char *)&Ret;
- for(int i=0; i < sizeof(oaFloat); ++i)
- {
- Buf[i] = Hex2BytesToInt((const unsigned char *)buf);
- buf += 2;
- }
-
- return(Ret);
-}
-
-static void WriteFloat(FILE *fp, oaFloat val)
-{
- unsigned char *Buf = (unsigned char *)&val;
- for(int i=0; i < sizeof(oaFloat); ++i)
- fprintf(fp, "%02x", Buf[i]);
-}
-
-static void StripNewLine(char *str)
-{
- size_t StrLen = strlen(str);
- if(StrLen == 0)
- return;
-
- for(size_t i=StrLen-1; i >= 0; --i)
- if(str[i] == '\n')
- {
- str[i] = 0;
- break;
- }
-}
-
-void *Alloc(size_t n)
-{
- void *Ret = malloc(n);
- assert(n != 0);
-
- //AllocBlocks.push_back(Ret);
- return(Ret);
-}
-
-char *StrDup(const char *str)
-{
- assert(str != NV_NULL);
- char *Ret = strdup(str);
-
- //AllocBlocks.push_back(Ret);
- return(Ret);
-}
-
-AppSettings::AppSettings()
-{
- int NumOptions = 0;
-}
-
-AppSettings::~AppSettings()
-{
- Cleanup();
-}
-
-void AppSettings::InitOptions(void)
-{
- {
- oaNamedOption *Option;
-
- // Resolution (enum)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/Resolution";
- Option->DataType = OA_TYPE_ENUM;
- Option->Value.Enum = "640x480";
-
- Options[NumOptions] = *Option;
- Option = &Options[NumOptions++];
- Option->Value.Enum = "1024x768";
-
- Options[NumOptions] = *Option;
- Option = &Options[NumOptions++];
- Option->Value.Enum = "1200x768";
-
- Options[NumOptions] = *Option;
- Option = &Options[NumOptions++];
- Option->Value.Enum = "1600x1200";
-
- // AA (enum)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
-
- Option->Name = "User/AA";
- Option->DataType = OA_TYPE_ENUM;
- Option->Value.Enum = "Off";
-
- Options[NumOptions] = *Option;
- Option = &Options[NumOptions++];
- Option->Value.Enum = "2X";
-
- Options[NumOptions] = *Option;
- Option = &Options[NumOptions++];
- Option->Value.Enum = "4X";
-
- Options[NumOptions] = *Option;
- Option = &Options[NumOptions++];
- Option->Value.Enum = "8X";
-
- // device id (int)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/Device";
- Option->DataType = OA_TYPE_INT;
-
- Option->Value.Int = -1; // when -1 to choose a good GPU
-
- //Backdoor (enum)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/Backdoor";
- Option->DataType = OA_TYPE_STRING;
- Option->Value.String = "";
-
- // HideUI (bool)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/HideUI";
- Option->DataType = OA_TYPE_BOOL;
-
- Option->Value.Bool = OA_FALSE;
-
- // Perf mode (bool)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/PerfMode";
- Option->DataType = OA_TYPE_BOOL;
-
- Option->Value.Bool = OA_FALSE;
-
- // Play (bool)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/Play";
- Option->DataType = OA_TYPE_BOOL;
-
- Option->Value.Bool = OA_FALSE;
-
- // ProjectPath (string)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/ProjectPath";
- Option->DataType = OA_TYPE_STRING;
- Option->Value.String = "";
-
- // FurAssetPath (string)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/FurAssetPath";
- Option->DataType = OA_TYPE_STRING;
- Option->Value.String = "";
-
- // FurDemoPlaylist (string)
- Option = &Options[NumOptions++];
- oaInitOption(Option);
- Option->Name = "User/FurDemoPlaylist";
- Option->DataType = OA_TYPE_STRING;
- Option->Value.String = "";
-
- //Option = &Options[NumOptions++];
- //oaInitOption(Option);
- //Option->Name = "r2_slight_fade";
- //Option->DataType = OA_TYPE_FLOAT;
- //Option->MinValue.Float = 0.0;
- //Option->MaxValue.Float = 100.0;
- //Option->NumSteps = 200;
- }
-
- //****************************************************************************
- //*** Init OptionValues
- //****************************************************************************
-
- // Initialize default options
- for(int i=0; i < NumOptions; ++i)
- {
- string Name(Options[i].Name);
- OptionValueMap[Name].Name = Options[i].Name;
- OptionValueMap[Name].Type = Options[i].DataType;
- OptionValueMap[Name].Value = Options[i].Value;
- }
-
- InitDefaultOptions();
- ///////////////////////////////////////////////////////
- // Load any persistent options if they've been previously set
- ReadOptionsFile();
-}
-
-void AppSettings::InitDefaultOptions(void)
-{
- oaValue Value;
-
- Value.Enum = "1200x768";
- SetOptionValue("User/Resolution", OA_TYPE_ENUM, &Value);
-
- Value.Enum = "8X";
- SetOptionValue("User/AA", OA_TYPE_ENUM, &Value);
-}
-
-void AppSettings::SetOptionValue(const char *name,
- oaOptionDataType type,
- const oaValue *value)
-{
- string Name(name);
- assert(OptionValueMap.find(Name) != OptionValueMap.end());
- assert(OptionValueMap[Name].Type == type);
-
- switch(type)
- {
- case OA_TYPE_STRING:
- OptionValueMap[Name].Value.String = StrDup(value->String);
- break;
-
- case OA_TYPE_ENUM:
- OptionValueMap[Name].Value.Enum = StrDup(value->Enum);
- break;
-
- default:
- OptionValueMap[Name].Value = *value;
- }
-}
-
-void AppSettings::ReadOptionsFile(void)
-{
- char optionFile[MAX_PATH] = "";
- if(!GetExePath(optionFile))
- {
- fprintf(stderr, "Cannot get exe path\r\n");
- }
- strcat(optionFile, OptionsFileName);
-
-
- FILE *FP = fopen(optionFile, "rb");
- if(!FP)
- return;
-
- fprintf(stderr, "FurViewer: Reading options file \"%s\".\n",
- optionFile);
- fflush(stderr);
-
- char Line[1024] = "";
- int LineNum = 1;
- while (fgets(Line, sizeof(Line), FP) != NV_NULL)
- {
- StripNewLine(Line);
- if(Line[0] == 0)
- continue;
-
- char *Name = strtok(Line, "\t");
- char *Value = strtok(NV_NULL, "");
-
- if(!Name || !Value)
- {
- //Error("Invalid format in options file \"%s\" on line %d\n",
- //OptionsFileName,
- //LineNum);
- continue;
- }
-
- map<string, OptionValue>::const_iterator OptVal =
- OptionValueMap.find(string(Name));
-
- if(OptVal == OptionValueMap.end())
- Error("Unknown option \"%s\" defined in options file \"%s\" on line %d.",
- Name,
- OptionsFileName,
- LineNum);
-
- SetOptionValue(Name, OptVal->second.Type, Value);
-
- LineNum++;
- }
-
- fclose(FP);
-}
-
-void AppSettings::Cleanup(void)
-{
- //vector<void *>::iterator Iter = AllocBlocks.begin();
- //for(; Iter != AllocBlocks.end(); Iter++)
- // free(*Iter);
-
- //AllocBlocks.clear();
-}
-
-
-void AppSettings::WriteOptionsFile(FILE *fp)
-{
- map<string, OptionValue>::const_iterator Iter = OptionValueMap.begin();
- for(; Iter != OptionValueMap.end(); ++Iter)
- {
- fprintf(fp, "%s\t", Iter->second.Name);
- switch(Iter->second.Type)
- {
- case OA_TYPE_INT:
- fprintf(fp, "%d", Iter->second.Value.Int);
- break;
-
- case OA_TYPE_BOOL:
- fprintf(fp, "%d", (int)Iter->second.Value.Bool);
- break;
-
- case OA_TYPE_FLOAT:
- WriteFloat(fp, Iter->second.Value.Float);
- break;
-
- case OA_TYPE_STRING:
- fprintf(fp, "%s", Iter->second.Value.String);
- break;
-
- case OA_TYPE_ENUM:
- fprintf(fp, "%s", Iter->second.Value.Enum);
- break;
-
- }
-
- fprintf(fp, "\n");
- }
-}
-
-void AppSettings::WriteOptionsFile(void)
-{
- char optionFile[MAX_PATH] = "";
- if(!GetExePath(optionFile))
- {
- fprintf(stderr, "Cannot get exe path\r\n");
- }
- strcat(optionFile, OptionsFileName);
-
- fprintf(stderr, "FurViewer: Writing options file \"%s\".\n",
- optionFile);
- fflush(stderr);
-
- FILE *FP = fopen(optionFile, "wb");
- if(!FP)
- Error("Couldn't open \"%s\" for write.\n", optionFile);
-
- WriteOptionsFile(FP);
-
- fclose(FP);
-}
-
-void AppSettings::SetOptionValue(const char *name,
- oaOptionDataType type,
- const char *value)
-{
- assert(name != NV_NULL);
- assert(type != OA_TYPE_INVALID);
- assert(value != NV_NULL);
-
- oaValue Value;
- switch(type)
- {
- case OA_TYPE_INT:
- Value.Int = atoi(value);
- break;
-
- case OA_TYPE_FLOAT:
- Value.Float = StrToFloat(value);
- break;
-
- case OA_TYPE_BOOL:
- Value.Bool = atoi(value) ? OA_TRUE : OA_FALSE;
- break;
-
- case OA_TYPE_STRING:
- Value.String = (oaString)value;
- break;
-
- case OA_TYPE_ENUM:
- Value.Enum = (oaString)value;
- break;
- }
-
- SetOptionValue(name, type, &Value);
-}
-
-
-
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Settings.h b/tools/ArtistTools/source/CoreLib/Utils/Settings.h
deleted file mode 100644
index a845732..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Settings.h
+++ /dev/null
@@ -1,392 +0,0 @@
-/*******************************************************************************
-* NVIDIA Corporation
-* Software License Agreement - OpenAutomate SDK
-*
-* IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING
-* Do not use or load the OpenAutomate SDK and any associated materials
-* provided by NVIDIA on NVIDIA�s website (collectively, the "Software")
-* until You have carefully read the following terms and conditions. By
-* loading or using the Software, You agree to fully comply with the terms
-* and conditions of this Software License Agreement ("Agreement") by and
-* between NVIDIA Corporation, a Delaware corporation with its principal
-* place of business at 2701 San Tomas Expressway, Santa Clara, California
-* 95050 U.S.A. ("NVIDIA"), and You. If You do not wish to so agree, do not
-* install or use the Software.
-*
-* For the purposes of this Agreement:
-*
-* "Licensee," "You" and/or "Your" shall mean, collectively and
-* individually, Original Equipment Manufacturers, Independent Hardware
-* Vendors, Independent Software Vendors, and End-Users of the Software
-* pursuant to the terms and conditions of this Agreement.
-*
-* "Derivative Works" shall mean derivatives of the Software created by You
-* or a third party on Your behalf, which term shall include: (a) for
-* copyrightable or copyrighted material, any translation, abridgement,
-* revision or other form in which an existing work may be recast,
-* transformed or adapted; (b) for work protected by topography or mask
-* right, any translation, abridgement, revision or other form in which an
-* existing work may be recast, transformed or adapted; (c) for patentable
-* or patented material, any Improvement; and (d) for material protected by
-* trade secret, any new material derived from or employing such existing
-* trade secret.
-*
-* "Excluded License" is any license that requires as a condition of use,
-* modification and/or distribution of software subject to the Excluded
-* License, that such software or other software distributed and/or
-* combined with such software be (i) disclosed or distributed in source
-* code form, (ii) licensed for the purpose of making derivative works, or
-* (iii) redistributable at no charge.
-*
-* SECTION 1 - GRANT OF LICENSE.
-* NVIDIA agrees to provide the Software and any associated materials
-* pursuant to the terms and conditions of this Agreement. Subject to the
-* terms of this Agreement, NVIDIA grants to You a nonexclusive,
-* transferable, worldwide, revocable, limited, royalty-free, fully paid-up
-* license under NVIDIA�s copyrights to
-*
-* (a) install, deploy, use, have used execute, reproduce, display,
-* perform, run, modify the source code of the Software, or to prepare and
-* have prepared Derivative Works thereof the Software for Your own
-* internal development, testing and maintenance purposes to incorporate
-* the Software or Derivative Works thereof, in part or whole, into Your
-* software applications;
-*
-* (b) to transfer, distribute and sublicense the Software (in its
-* unmodified form as delivered to You by NVIDIA pursuant to this
-* Agreement) in any medium or technology for Your sublicensees to
-* incorporate the Software or Derivative Works thereof, in part or whole,
-* into their respective software applications; and
-*
-* (c) to transfer, distribute and sublicense Derivative Works (in object
-* code only) of the Software (i)_as incorporated in Your application
-* software in any medium or technology; and (ii) certified as OpenAutomate
-* Compatible Software.
-*
-* You may exercise your license rights pursuant to Subsection 1(b) and (c)
-* above pursuant to the terms and conditions of any form of end-user
-* software license agreement of Your choice, including but not limited to
-* an Excluded License.
-*
-* In the event NVIDIA certifies Your application software, incorporating
-* the Derivative Works (in object code only) of the Software, as
-* OpenAutomate compatible ("OpenAutomate Compatible Software"), NVIDIA
-* grants You a nonexclusive, worldwide, revocable, paid-up license to use
-* the name and trademark to "OpenAutomate Compatible" solely for the
-* purposes of identifying and/or marketing Your application software as
-* OpenAutomate Compatible Software; provided that Licensee fully complies
-* with the following:
-*
-* (x) Licensee agrees that it is strictly prohibited from using the name
-* and trademark of "OpenAutomate Compatible" if Your application software
-* is not OpenAutomate Compatible Software;
-*
-* (y) if NVIDIA objects to Your improper use of the "OpenAutomate
-* Compatible" name and trademark, You will take all reasonable steps
-* necessary to resolve NVIDIA�s objections. NVIDIA may reasonably monitor
-* the quality of Your application software bearing the "OpenAutomate
-* Compatible" name or trademark pursuant to this Agreement; and
-*
-* (z) any goodwill attached to NVIDIA�s trademarks, service marks, or
-* trade names belong to NVIDIA and this Agreement does not grant You any
-* right to use them.
-*
-* If You are not the final manufacturer or vendor of a computer system or
-* software program incorporating the Software, or if Your Contractors (as
-* defined below), affiliates or subsidiaries need to exercise any, some or
-* all of the license grant described above herein to the Software on Your
-* behalf, then You may transfer a copy of the Software, (and related
-* end-user documentation) to such recipient for use in accordance with the
-* terms of this Agreement, provided such recipient agrees to be fully
-* bound by the terms hereof. Except as expressly permitted in this
-* Agreement, Unless otherwise authorized in the Agreement, You shall not
-* otherwise assign, sublicense, lease, or in any other way transfer or
-* disclose Software to any third party. Unless otherwise authorized in the
-* Agreement, You shall not reverse- compile, disassemble,
-* reverse-engineer, or in any manner attempt to derive the source code of
-* the Software from the object code portions of the Software.
-*
-* Except as expressly stated in this Agreement, no license or right is
-* granted to You directly or by implication, inducement, estoppel or
-* otherwise. NVIDIA shall have the right to inspect or have an independent
-* auditor inspect Your relevant records to verify Your compliance with the
-* terms and conditions of this Agreement.
-*
-* SECTION 2 - CONFIDENTIALITY.
-* If applicable, any exchange of Confidential Information (as defined in
-* the NDA) shall be made pursuant to the terms and conditions of a
-* separately signed Non-Disclosure Agreement ("NDA") by and between NVIDIA
-* and You. For the sake of clarity, You agree that the Software is
-* Confidential Information of NVIDIA.
-*
-* If You wish to have a third party consultant or subcontractor
-* ("Contractor") perform work on Your behalf which involves access to or
-* use of Software, You shall obtain a written confidentiality agreement
-* from the Contractor which contains terms and obligations with respect to
-* access to or use of Software no less restrictive than those set forth in
-* this Agreement and excluding any distribution or sublicense rights, and
-* use for any other purpose than permitted in this Agreement. Otherwise,
-* You shall not disclose the terms or existence of this Agreement or use
-* NVIDIA's name in any publications, advertisements, or other
-* announcements without NVIDIA's prior written consent. Unless otherwise
-* provided in this Agreement, You do not have any rights to use any NVIDIA
-* trademarks or logos.
-*
-* SECTION 3 - OWNERSHIP OF SOFTWARE AND INTELLECTUAL PROPERTY RIGHTS.
-* All rights, title and interest to all copies of the Software remain with
-* NVIDIA, subsidiaries, licensors, or its suppliers. The Software is
-* copyrighted and protected by the laws of the United States and other
-* countries, and international treaty provisions. You may not remove any
-* copyright notices from the Software. NVIDIA may make changes to the
-* Software, or to items referenced therein, at any time and without
-* notice, but is not obligated to support or update the Software. Except
-* as otherwise expressly provided, NVIDIA grants no express or implied
-* right under any NVIDIA patents, copyrights, trademarks, or other
-* intellectual property rights.
-*
-* All rights, title and interest in the Derivative Works of the Software
-* remain with You subject to the underlying license from NVIDIA to the
-* Software. In Your sole discretion, You may grant NVIDIA, upon NVIDIA�s
-* request for such a license described herein, an irrevocable, perpetual,
-* nonexclusive, worldwide, royalty-free paid-up license to make, have
-* made, use, have used, sell, license, distribute, sublicense or otherwise
-* transfer Derivative Works created by You that add functionality or
-* improvement to the Software.
-*
-* You has no obligation to give NVIDIA any suggestions, comments or other
-* feedback ("Feedback") relating to the Software. However, NVIDIA may use
-* and include any Feedback that You voluntarily provide to improve the
-* Software or other related NVIDIA technologies. Accordingly, if You
-* provide Feedback, You agree NVIDIA and its licensees may freely use,
-* reproduce, license, distribute, and otherwise commercialize the Feedback
-* in the Software or other related technologies without the payment of any
-* royalties or fees.
-*
-* You may transfer the Software only if the recipient agrees to be fully
-* bound by these terms and conditions of this Agreement.
-*
-* SECTION 4 - NO WARRANTIES.
-* THE SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY
-* OF ANY KIND, INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT,
-* OR FITNESS FOR A PARTICULAR PURPOSE. NVIDIA does not warrant or assume
-* responsibility for the accuracy or completeness of any information,
-* text, graphics, links or other items contained within the Software.
-* NVIDIA does not represent that errors or other defects will be
-* identified or corrected.
-*
-* SECTION 5 - LIMITATION OF LIABILITY.
-* EXCEPT WITH RESPECT TO THE MISUSE OF THE OTHER PARTY�S INTELLECTUAL
-* PROPERTY OR DISCLOSURE OF THE OTHER PARTY�S CONFIDENTIAL INFORMATION IN
-* BREACH OF THIS AGREEMENT, IN NO EVENT SHALL NVIDIA, SUBSIDIARIES,
-* LICENSORS, OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER
-* (INCLUDING, WITHOUT LIMITATION, INDIRECT, LOST PROFITS, CONSEQUENTIAL,
-* BUSINESS INTERRUPTION OR LOST INFORMATION) ARISING OUT OF THE USE OF OR
-* INABILITY TO USE THE SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
-* POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR
-* LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR
-* INCIDENTAL DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU
-* MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO
-* JURISDICTION. NOTWITHSTANDING THE FOREGOING, NVIDIA�S AGGREGATE
-* LIABILITY ARISING OUT OF THIS AGREEMENT SHALL NOT EXCEED ONE HUNDRED
-* UNITED STATES DOLLARS (USD$100).
-*
-* SECTION 6 - TERM.
-* This Agreement and the licenses granted hereunder shall be effective as
-* of the date You download the applicable Software ("Effective Date") and
-* continue for a period of one (1) year ("Initial Term") respectively,
-* unless terminated earlier in accordance with the "Termination" provision
-* of this Agreement. Unless either party notifies the other party of its
-* intent to terminate this Agreement at least three (3) months prior to
-* the end of the Initial Term or the applicable renewal period, this
-* Agreement will be automatically renewed for one (1) year renewal periods
-* thereafter, unless terminated in accordance with the "Termination"
-* provision of this Agreement.
-*
-* SECTION 7 - TERMINATION.
-* NVIDIA may terminate this Agreement at any time if You violate its
-* terms. Upon termination, You will immediately destroy the Software or
-* return all copies of the Software to NVIDIA, and certify to NVIDIA in
-* writing that such actions have been completed. Upon termination or
-* expiration of this Agreement the license grants to Licensee shall
-* terminate, except that sublicenses rightfully granted by Licensee under
-* this Agreement in connection with Section 1(b) and (c) of this Agreement
-* provided by Licensee prior to the termination or expiration of this
-* Agreement shall survive in accordance with their respective form of
-* license terms and conditions.
-*
-* SECTION 8 - MISCELLANEOUS.
-*
-* SECTION 8.1 - SURVIVAL.
-* Those provisions in this Agreement, which by their nature need to
-* survive the termination or expiration of this Agreement, shall survive
-* termination or expiration of the Agreement, including but not limited to
-* Sections 2, 3, 4, 5, 7, and 8.
-*
-* SECTION 8.2 - APPLICABLE LAWS.
-* Claims arising under this Agreement shall be governed by the laws of
-* Delaware, excluding its principles of conflict of laws and the United
-* Nations Convention on Contracts for the Sale of Goods. The state and/or
-* federal courts residing in Santa Clara County, California shall have
-* exclusive jurisdiction over any dispute or claim arising out of this
-* Agreement. You may not export the Software in violation of applicable
-* export laws and regulations.
-*
-* SECTION 8.3 - AMENDMENT.
-* The Agreement shall not be modified except by a written agreement that
-* names this Agreement and any provision to be modified, is dated
-* subsequent to the Effective Date, and is signed by duly authorized
-* representatives of both parties.
-*
-* SECTION 8.4 - NO WAIVER.
-* No failure or delay on the part of either party in the exercise of any
-* right, power or remedy under this Agreement or under law, or to insist
-* upon or enforce performance by the other party of any of the provisions
-* of this Agreement or under law, shall operate as a waiver thereof, nor
-* shall any single or partial exercise of any right, power or remedy
-* preclude other or further exercise thereof, or the exercise of any other
-* right, power or remedy; rather the provision, right, or remedy shall be
-* and remain in full force and effect.
-*
-* SECTION 8.5 - NO ASSIGNMENT.
-* This Agreement and Licensee�s rights and obligations herein, may not be
-* assigned, subcontracted, delegated, or otherwise transferred by Licensee
-* without NVIDIA�s prior written consent, and any attempted assignment,
-* subcontract, delegation, or transfer in violation of the foregoing will
-* be null and void. The terms of this Agreement shall be binding upon
-* Licensee�s assignees.
-*
-* SECTION 8.6 - GOVERNMENT RESTRICTED RIGHTS.
-* The parties acknowledge that the Software is subject to U.S. export
-* control laws and regulations. The parties agree to comply with all
-* applicable international and national laws that apply to the Software,
-* including the U.S. Export Administration Regulations, as well as
-* end-user, end-use and destination restrictions issued by U.S. and other
-* governments.
-*
-* The Software has been developed entirely at private expense and is
-* commercial computer software provided with RESTRICTED RIGHTS. Use,
-* duplication or disclosure of the Software by the U.S. Government or a
-* U.S. Government subcontractor is subject to the restrictions set forth
-* in the Agreement under which the Software was obtained pursuant to DFARS
-* 227.7202-3(a) or as set forth in subparagraphs (c)(1) and (2) of the
-* Commercial Computer Software - Restricted Rights clause at FAR
-* 52.227-19, as applicable. Contractor/manufacturer is NVIDIA, 2701 San
-* Tomas Expressway, Santa Clara, CA 95050. Use of the Software by the
-* Government constitutes acknowledgment of NVIDIA's proprietary rights
-* therein.
-*
-* SECTION 8.7 - INDEPENDENT CONTRACTORS.
-* Licensee�s relationship to NVIDIA is that of an independent contractor,
-* and neither party is an agent or partner of the other. Licensee will
-* not have, and will not represent to any third party that it has, any
-* authority to act on behalf of NVIDIA.
-*
-* SECTION 8.8 - SEVERABILITY.
-* If for any reason a court of competent jurisdiction finds any provision
-* of this Agreement, or portion thereof, to be unenforceable, that
-* provision of the Agreement will be enforced to the maximum extent
-* permissible so as to affect the intent of the parties, and the remainder
-* of this Agreement will continue in full force and effect. This Agreement
-* has been negotiated by the parties and their respective counsel and will
-* be interpreted fairly in accordance with its terms and without any
-* strict construction in favor of or against either party.
-*
-* SECTION 8.9 - ENTIRE AGREEMENT.
-* This Agreement and NDA constitute the entire agreement between the
-* parties with respect to the subject matter contemplated herein, and
-* merges all prior and contemporaneous communications.
-*
-******************************************************************************/
-
-
-#ifndef _SETTINGS_H
-#define _SETTINGS_H
-
-#include <assert.h>
-#include <ctype.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdarg.h>
-#include <vector>
-#include <map>
-#include <string>
-#include <conio.h>
-#include <OpenAutomate.h>
-
-#include "corelib_global.h"
-
-#if WIN32
-# include <windows.h>
-# define SLEEP(ms) Sleep(ms)
-#else
-# include <unistd.h>
-# define SLEEP(ms) usleep(1000 * (ms))
-#endif
-
-void Error(const char *fmt, ...);
-bool GetExePath(char* exe_path);
-
-struct OptionValue
-{
- const char *Name;
- oaOptionDataType Type;
- oaValue Value;
-};
-
-class CORELIB_EXPORT AppSettings
-{
-public:
- AppSettings();
- ~AppSettings();
-
- static AppSettings& Inst()
- {
- static AppSettings s_inst;
- return s_inst;
- }
-
- void InitOptions();
-
- void WriteOptionsFile();
-
- void SetOptionValue(const char *name,
- oaOptionDataType type,
- const oaValue *value);
-
- int GetNumOptions(){return NumOptions;}
-
- oaNamedOption* GetOption(int i){return &Options[i];}
-
- OptionValue* GetOptionValue(char* opt_name)
- {
- return &OptionValueMap[opt_name];
- }
-
- std::map<std::string, OptionValue>* GetCurrentOptionMap()
- {
- return &OptionValueMap;
- }
-
-private:
-
- void Cleanup();
-
- void InitDefaultOptions();
-
- void ReadOptionsFile();
-
- void WriteOptionsFile(FILE *fp);
-
- void SetOptionValue(const char *name,
- oaOptionDataType type,
- const char *value);
-
- oaNamedOption Options[128];
- std::map<std::string, OptionValue> OptionValueMap;
-
- int NumOptions;
-};
-
-#endif \ No newline at end of file
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Stats.cpp b/tools/ArtistTools/source/CoreLib/Utils/Stats.cpp
deleted file mode 100644
index d52aa14..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Stats.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-///////////////////////////////////////////////////////////////////////////////
-#include "Stats.h"
-
-void Stats::reset()
-{
- m_totalRenderTime = 0.0f;
- m_shadowRenderTime = 0.0f;
- m_meshRenderTime = 0.0f;
- m_hairRenderTime = 0.0f;
- m_hairStatsTime = 0.0f;
- m_totalUpdateTime = 0.0f;
- m_meshSkinningTime = 0.0f;
- m_hairSkinningTime = 0.0f;
- m_hairSimulationTime = 0.0f;
- m_queryTime = 0.0f;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-void Stats::add(const Stats& toAdd)
-{
- m_totalRenderTime += toAdd.m_totalRenderTime;
- m_shadowRenderTime += toAdd.m_shadowRenderTime;
- m_meshRenderTime += toAdd.m_meshRenderTime;
- m_hairRenderTime += toAdd.m_hairRenderTime;
- m_hairStatsTime += toAdd.m_hairStatsTime;
-
- m_totalUpdateTime += toAdd.m_totalUpdateTime;
- m_meshSkinningTime += toAdd.m_meshSkinningTime;
- m_hairSkinningTime += toAdd.m_hairSkinningTime;
- m_hairSimulationTime += toAdd.m_hairSimulationTime;
-
- m_queryTime += toAdd.m_queryTime;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-void Stats::average(float numFrames)
-{
- m_totalRenderTime /= numFrames;
- m_shadowRenderTime /= numFrames;
- m_meshRenderTime /= numFrames;
- m_hairRenderTime /= numFrames;
- m_hairStatsTime /= numFrames;
- m_totalUpdateTime /= numFrames;
- m_meshSkinningTime /= numFrames;
- m_hairSkinningTime /= numFrames;
- m_hairSimulationTime /= numFrames;
- m_queryTime /= numFrames;
-}
-
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Stats.h b/tools/ArtistTools/source/CoreLib/Utils/Stats.h
deleted file mode 100644
index fb22e57..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Stats.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-
-#pragma once
-
-#include "corelib_global.h"
-
-// scene statistics
-struct CORELIB_EXPORT Stats
-{
- double m_totalRenderTime;
- double m_shadowRenderTime;
- double m_meshRenderTime;
- double m_hairRenderTime;
- double m_hairStatsTime;
-
- double m_totalUpdateTime;
- double m_meshSkinningTime;
- double m_hairSkinningTime;
- double m_hairSimulationTime;
-
- double m_queryTime;
-
- Stats() { reset(); }
-
- void reset();
- void add(const Stats& toAdd);
- void average(float numFrames);
-}; \ No newline at end of file
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Timer.cpp b/tools/ArtistTools/source/CoreLib/Utils/Timer.cpp
deleted file mode 100644
index 2161989..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Timer.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-
-#include "Timer.h"
-
-Timer::Timer(bool isStartNow)
-{
- ::QueryPerformanceFrequency(&m_ticksPerSecond);
- Reset(isStartNow);
-}
-
-void Timer::Reset(bool isStartNow)
-{
- m_isPaused = true;
- m_totalPausedTime.QuadPart = 0;
- m_lastPausedTime.QuadPart = 0;
- if (isStartNow)
- {
- Start();
- }
-}
-
-void Timer::Start()
-{
- if (m_isPaused)
- {
- LARGE_INTEGER timeNow;
- ::QueryPerformanceCounter(&timeNow);
- m_totalPausedTime.QuadPart += timeNow.QuadPart - m_lastPausedTime.QuadPart;
- m_isPaused = false;
- }
-}
-
-void Timer::Pause()
-{
- if (!m_isPaused)
- {
- m_isPaused = true;
- ::QueryPerformanceCounter(&m_lastPausedTime);
- }
-}
-
-LONGLONG Timer::GetTicksElapsed() const
-{
- LARGE_INTEGER timeNow;
- if (m_isPaused)
- {
- timeNow = m_lastPausedTime;
- }
- else
- {
- ::QueryPerformanceCounter(&timeNow);
- }
- return (timeNow.QuadPart - m_totalPausedTime.QuadPart);
-}
diff --git a/tools/ArtistTools/source/CoreLib/Utils/Timer.h b/tools/ArtistTools/source/CoreLib/Utils/Timer.h
deleted file mode 100644
index c14ff97..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/Timer.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-
-#pragma once
-
-#define WIN32_LEAN_AND_MEAN
-#include <Windows.h>
-
-#include "corelib_global.h"
-
-class CORELIB_EXPORT Timer
-{
-public:
- Timer(bool isStartNow = false);
- void Start();
- void Reset(bool isStartNow = false);
- void Pause();
- bool IsRunning() const
- {
- return !m_isPaused;
- }
- double GetTimeInMilliSeconds() const
- {
- return double(GetTicksElapsed()*1000.0) / GetTicksPerSecond();
- }
- double GetTimeInSeconds() const
- {
- return double(GetTicksElapsed()) / GetTicksPerSecond();
- }
-
-public:
- bool m_isPaused;
-
- // Get time ticks elapsed
- LONGLONG GetTicksElapsed() const;
- // Get the timer frequency. Time tick count per second
- LONGLONG GetTicksPerSecond() const {
- return m_ticksPerSecond.QuadPart;
- }
- LARGE_INTEGER m_ticksPerSecond;
- LARGE_INTEGER m_lastPausedTime;
- LARGE_INTEGER m_totalPausedTime;
-};
diff --git a/tools/ArtistTools/source/CoreLib/Utils/ViewerOutput.cpp b/tools/ArtistTools/source/CoreLib/Utils/ViewerOutput.cpp
deleted file mode 100644
index d5486bc..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/ViewerOutput.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <windows.h>
-#include "ViewerOutput.h"
-
-ViewerOutput& ViewerOutput::Inst()
-{
- static ViewerOutput inst;
- return inst;
-}
-
-void ViewerOutput::RegisterPrinter( FrontPrinter* printer )
-{
- if(!printer) return;
-
- _printers.insert(printer);
-}
-
-void ViewerOutput::UnRegisterPrinter( FrontPrinter* printer )
-{
- if(!printer) return;
-
- auto itr = _printers.find(printer);
- if(itr != _printers.end())
- _printers.erase(itr);
-}
-
-void ViewerOutput::print( FrontPrinter::Effect e, unsigned long color, const char* fmt, ... )
-{
- va_list args;
- va_start(args, fmt);
-
- vsprintf_s(_buf, MAX_BUFFER_SIZE, fmt, args);
-
- va_end(args);
-
- for (auto itr = _printers.begin(); itr != _printers.end(); ++itr)
- {
- (*itr)->print(_buf, color, e);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////
-ViewerStream::~ViewerStream()
-{
- flush();
-}
-
-ViewerStream& ViewerStream::flush()
-{
- this->std::ostream::flush();
-
- if(_buffer.size() == 0)
- return (*this);
-
- ViewerOutput::Inst().print(_effect, _color, _buffer.buf);
- _buffer.reset();
-
- return (*this);
-}
-
-ViewerStream::ViewerStreamBuf::ViewerStreamBuf()
-{
- reset();
-}
-
-std::streamsize ViewerStream::ViewerStreamBuf::size()
-{
- return (pptr() - pbase());
-}
-
-void ViewerStream::ViewerStreamBuf::reset()
-{
- memset(buf, 0, sizeof(buf));
- setp(buf, buf + FURVIEWER_MAX_OUTPUT_CHAR);
-}
-
diff --git a/tools/ArtistTools/source/CoreLib/Utils/ViewerOutput.h b/tools/ArtistTools/source/CoreLib/Utils/ViewerOutput.h
deleted file mode 100644
index b1fb9f7..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/ViewerOutput.h
+++ /dev/null
@@ -1,136 +0,0 @@
-// This code contains NVIDIA Confidential Information and is disclosed
-// under the Mutual Non-Disclosure Agreement.
-//
-// Notice
-// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
-// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
-// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
-// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
-//
-// NVIDIA Corporation assumes no responsibility for the consequences of use of such
-// information or for any infringement of patents or other rights of third parties that may
-// result from its use. No license is granted by implication or otherwise under any patent
-// or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
-// expressly authorized by NVIDIA. Details are subject to change without notice.
-// This code supersedes and replaces all information previously supplied.
-// NVIDIA Corporation products are not authorized for use as critical
-// components in life support devices or systems without express written approval of
-// NVIDIA Corporation.
-//
-// Copyright (c) 2013-2015 NVIDIA Corporation. All rights reserved.
-//
-// NVIDIA Corporation and its licensors retain all intellectual property and proprietary
-// rights in and to this software and related documentation and any modifications thereto.
-// Any use, reproduction, disclosure or distribution of this software and related
-// documentation without an express license agreement from NVIDIA Corporation is
-// strictly prohibited.
-//
-
-#pragma once
-
-#include <set>
-
-#include "corelib_global.h"
-
-/*
- * !! CAUSION:
- * Not thread safe, should only output messages in the MAIN thread!
- * Otherwise, cannot guarantee the Qt Gui behavior.
- */
-
-// DON'T TRY TO WRITE CHARS MORE THAN THE FURVIEWER_MAX_OUTPUT_CHAR
-#define FURVIEWER_MAX_OUTPUT_CHAR 2048
-
-// c-style print
-#define viewer_msg(fmt, ...) ViewerOutput::Inst().print(FrontPrinter::NONE, 0, fmt, ##__VA_ARGS__)
-#define viewer_warn(fmt, ...) ViewerOutput::Inst().print(FrontPrinter::NONE, RGB(255,200,020), fmt, ##__VA_ARGS__)
-#define viewer_info(fmt, ...) ViewerOutput::Inst().print(FrontPrinter::NONE, RGB(118,185,000), fmt, ##__VA_ARGS__)
-#define viewer_err(fmt, ...) ViewerOutput::Inst().print(FrontPrinter::NONE, RGB(255,000,000), fmt, ##__VA_ARGS__)
-#define viewer_fatal(fmt, ...) ViewerOutput::Inst().print(FrontPrinter::BOLD, RGB(255,000,000), fmt, ##__VA_ARGS__)
-
-// c++ style output stream
-#define viewer_stream_msg ViewerStream(FrontPrinter::NONE, 0)
-#define viewer_stream_warn ViewerStream(FrontPrinter::NONE, RGB(255,200,020))
-#define viewer_stream_info ViewerStream(FrontPrinter::NONE, RGB(118,185,000))
-#define viewer_stream_err ViewerStream(FrontPrinter::NONE, RGB(255,000,000))
-#define viewer_stream_fatal ViewerStream(FrontPrinter::NONE, RGB(255,000,000))
-
-
-//////////////////////////////////////////////////////////////////////////
-// implementation
-//////////////////////////////////////////////////////////////////////////
-class FrontPrinter
-{
-public:
- enum Effect
- {
- NONE = 0x0,
- BOLD = 0x1,
- ITALIC = 0x2,
- UNDERLINE = 0x4
- };
-
- virtual void print(const char* txt, unsigned long color = 0, Effect e = NONE) = 0;
-};
-
-class CORELIB_EXPORT ViewerOutput
-{
-public:
- static ViewerOutput& Inst();
-
- void RegisterPrinter(FrontPrinter* printer);
- void UnRegisterPrinter(FrontPrinter* printer);
-
- void print(FrontPrinter::Effect e, unsigned long color, const char* fmt, ...);
-
-private:
- enum {MAX_BUFFER_SIZE = FURVIEWER_MAX_OUTPUT_CHAR + 1};
-
- char _buf[MAX_BUFFER_SIZE];
-
- std::set<FrontPrinter*> _printers;
-};
-
-
-//////////////////////////////////////////////////////////////////////////
-// stream to support c++ style output
-
-#include <streambuf>
-#include <sstream>
-
-class ViewerStream : public std::ostream
-{
-public:
- explicit ViewerStream(FrontPrinter::Effect e, unsigned long color)
- : std::ostream(&_buffer)
- , _effect(e)
- , _color(color)
- {}
-
- ~ViewerStream();
-
- ViewerStream& flush();
-
-private:
-
- class ViewerStreamBuf : public std::streambuf
- {
- public:
- enum
- {
- STATIC_BUFFER_SIZE = FURVIEWER_MAX_OUTPUT_CHAR + 1,
- };
-
- ViewerStreamBuf();
-
- void reset();
- std::streamsize size();
-
- // fixed stack buffer
- char buf[STATIC_BUFFER_SIZE];
- };
-
- ViewerStreamBuf _buffer;
- FrontPrinter::Effect _effect;
- unsigned long _color;
-};
diff --git a/tools/ArtistTools/source/CoreLib/Utils/XMLHelper.cpp b/tools/ArtistTools/source/CoreLib/Utils/XMLHelper.cpp
deleted file mode 100644
index c48b0dc..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/XMLHelper.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-#include "XMLHelper.h"
-#include <QtXml\QtXml>
-#include "ViewerOutput.h"
-
-static int gcounter = 0;
-static char gbuf[256];
-
-XMLFile::XMLFile(const QString& rootName)
- : _rootName(rootName)
-{
-}
-
-void XMLFile::load(const QString& filePath)
-{
- QFile file(filePath);
-
- if (!file.open(QIODevice::ReadOnly))
- {
- return;
- }
-
- QDomDocument xmlDoc;
- if (!xmlDoc.setContent(&file))
- {
- file.close();
- return;
- }
- file.close();
-
- if (xmlDoc.isNull() || xmlDoc.documentElement().tagName() != _rootName)
- {
- sprintf(gbuf, "The file you selected is empty or not a speficied file: %s.", filePath.toStdString().c_str());
- viewer_msg(gbuf);
- return;
- }
-
- loadItems(xmlDoc);
-
- //QDomNodeList elms = xmlDoc.documentElement().elementsByTagName(QObject::tr("StressSolverPreset"));
- //for (int i = 0; i < elms.count(); ++i)
- //{
- // StressSolverUserPreset preset("");
- // _userPresets.push_back(preset);
- // _loadStressSolverPreset(elms.at(i).toElement(), _userPresets[i]);
- //}
-}
-
-void XMLFile::save(const QString& filePath)
-{
- std::string rr = filePath.toStdString();
- rr;
-
- QFileInfo fileInfo(filePath);
- QDir fileDir = fileInfo.absoluteDir();
-
- QString tt = fileDir.absolutePath();
- std::string hh = tt.toStdString();
- hh;
-
- if (!fileDir.exists())
- {
- if (!fileDir.mkdir(fileDir.absolutePath()))
- {
- sprintf(gbuf, "Failed to crreate the folder: %s.", filePath.toStdString().c_str());
- viewer_msg(gbuf);
- return;
- }
- }
- QFile file(filePath);
- if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate))
- {
- return;
- }
- QTextStream out(&file);
-
- QDomDocument xmlDoc;
- QDomElement rootElm = xmlDoc.createElement(_rootName);
- xmlDoc.appendChild(rootElm);
-
- saveItems(xmlDoc);
-
- // 4 is count of indent
- xmlDoc.save(out, 4);
-}
-
-SingleItemKindFile::SingleItemKindFile(const QString& rootName, const QString& itemName)
- : XMLFile(rootName)
- , _itemName(itemName)
-{
-}
-
-void SingleItemKindFile::loadItems(QDomDocument xmlDoc)
-{
- QDomNodeList elms = xmlDoc.documentElement().elementsByTagName(_itemName);
- for (int i = 0; i < elms.count(); ++i)
- {
- QDomElement elm = elms.at(i).toElement();
- _items.push_back(elm.attribute(QObject::tr("Value")));
- }
-}
-
-void SingleItemKindFile::saveItems(QDomDocument xmlDoc)
-{
- for (int i = 0; i < _items.count(); ++i)
- {
- QDomElement elm = xmlDoc.createElement(_itemName);
- elm.setAttribute(QObject::tr("Value"), _items.at(i));
- xmlDoc.documentElement().appendChild(elm);
- }
-}
-
-bool SingleItemKindFile::isItemExist(const QString& item)
-{
- for (int i = 0; i < _items.count(); ++i)
- {
- if (_items.at(i) == item)
- return true;
- }
-
- return false;
-}
diff --git a/tools/ArtistTools/source/CoreLib/Utils/XMLHelper.h b/tools/ArtistTools/source/CoreLib/Utils/XMLHelper.h
deleted file mode 100644
index ca43033..0000000
--- a/tools/ArtistTools/source/CoreLib/Utils/XMLHelper.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#pragma once
-#include <QtCore\QString>
-#include <QtCore\QList>
-#include "corelib_global.h"
-
-class QDomDocument;
-
-class CORELIB_EXPORT XMLFile
-{
-public:
- XMLFile(const QString& rootName);
-
- void load(const QString& filePath);
- void save(const QString& filePath);
-
-protected:
- virtual void loadItems(QDomDocument xmlDoc) = 0;
- virtual void saveItems(QDomDocument xmlDoc) = 0;
-protected:
- QString _rootName;
-};
-
-class CORELIB_EXPORT SingleItemKindFile : public XMLFile
-{
-public:
- SingleItemKindFile(const QString& rootName, const QString& itemName);
-
- virtual void loadItems(QDomDocument xmlDoc);
- virtual void saveItems(QDomDocument xmlDoc);
-
- void addItemBack(const QString& item) { _items.push_back(item); }
- void addItemFront(const QString& item) { _items.push_back(item); }
- QList<QString>& getItems() { return _items; }
- bool isItemExist(const QString& item);
-
-private:
- QString _itemName;
- QList<QString> _items;
-};