// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 // C++ Mesh File for 3ds Max, created by SaveMeshToCpp Macroscript // Built from the object Circle001 #include "stdafx.h" #include #if MAX_VERSION_MAJOR >= 25 #include #endif #pragma warning( disable : 4305 ) // Anonymous namespace, to avoid name collisions namespace { // 200 vertices float verts[] = { -0.165905f, 0.035161f, 0.0f, -0.146346f, 0.107377f, 0.0f, -0.0949765f, 0.158746f, 0.0f, -0.0227604f, 0.178306f, 0.0f, 0.0494556f, 0.158746f, 0.0f, 0.100825f, 0.107377f, 0.0f, 0.120384f, 0.035161f, 0.0f, 0.120384f, -0.215342f, 0.0f, 0.191957f, -0.286914f, 0.0f, 0.211838f, -0.284263f, 0.0f, 0.243648f, -0.265708f, 0.0f, 0.299315f, -0.215342f, 0.0f, 0.333776f, -0.122563f, 0.0f, 0.312569f, 0.00202571f, 0.0f, 0.263529f, 0.142519f, 0.0f, 0.222444f, 0.224259f, 0.0f, 0.19428f, 0.298373f, 0.0f, 0.191957f, 0.357236f, 0.0f, 0.205538f, 0.394893f, 0.0f, 0.217136f, 0.415991f, 0.0f, 0.227743f, 0.428809f, 0.0f, 0.206405f, 0.420485f, 0.0f, 0.18215f, 0.407373f, 0.0f, 0.152057f, 0.384683f, 0.0f, 0.119463f, 0.344876f, 0.0f, 0.0945352f, 0.294495f, 0.0f, 0.084598f, 0.249878f, 0.0f, 0.0678881f, 0.268485f, 0.0f, 0.0539212f, 0.299659f, 0.0f, 0.0488118f, 0.357236f, 0.0f, 0.0548677f, 0.420326f, 0.0f, 0.067971f, 0.464966f, 0.0f, 0.084598f, 0.500381f, 0.0f, 0.0300843f, 0.469915f, 0.0f, -0.0193302f, 0.435459f, 0.0f, -0.0585466f, 0.393022f, 0.0f, -0.0830721f, 0.354694f, 0.0f, -0.0990914f, 0.318707f, 0.0f, -0.117521f, 0.260292f, 0.0f, -0.138649f, 0.322303f, 0.0f, -0.182529f, 0.365705f, 0.0f, -0.237786f, 0.399802f, 0.0f, -0.217067f, 0.343082f, 0.0f, -0.207701f, 0.287828f, 0.0f, -0.22104f, 0.235507f, 0.0f, -0.273263f, 0.142519f, 0.0f, -0.322512f, 0.0232323f, 0.0f, -0.343614f, -0.11196f, 0.0f, -0.30905f, -0.215342f, 0.0f, -0.253382f, -0.265708f, 0.0f, -0.221572f, -0.284263f, 0.0f, -0.201691f, -0.286914f, 0.0f, -0.0585466f, -0.215342f, 0.0f, -0.0585466f, -0.14377f, 0.0f, -0.120618f, -0.14377f, 0.0f, -0.120618f, -0.0721975f, 0.0f, -0.165905f, -0.0721975f, 0.0f, -0.332444f, -0.436363f, 0.0f, -0.332507f, -0.440343f, 0.0f, -0.328798f, -0.466472f, 0.0f, -0.317671f, -0.485245f, 0.0f, -0.299158f, -0.496565f, 0.0f, -0.27329f, -0.500339f, 0.0f, -0.248384f, -0.496403f, 0.0f, -0.229981f, -0.484594f, 0.0f, -0.218616f, -0.46551f, 0.0f, -0.214828f, -0.439748f, 0.0f, -0.21538f, -0.430157f, 0.0f, -0.217035f, -0.42129f, 0.0f, -0.219728f, -0.413244f, 0.0f, -0.223398f, -0.406114f, 0.0f, -0.234365f, -0.394586f, 0.0f, -0.253901f, -0.380667f, 0.0f, -0.256705f, -0.378807f, 0.0f, -0.258817f, -0.377516f, 0.0f, -0.265021f, -0.373466f, 0.0f, -0.281725f, -0.35993f, 0.0f, -0.287293f, -0.347153f, 0.0f, -0.286307f, -0.340305f, 0.0f, -0.283347f, -0.334943f, 0.0f, -0.278766f, -0.331479f, 0.0f, -0.272913f, -0.330324f, 0.0f, -0.26618f, -0.331978f, 0.0f, -0.261263f, -0.336939f, 0.0f, -0.258257f, -0.345111f, 0.0f, -0.257254f, -0.3564f, 0.0f, -0.257254f, -0.358815f, 0.0f, -0.216628f, -0.358815f, 0.0f, -0.216502f, -0.355655f, 0.0f, -0.216376f, -0.352495f, 0.0f, -0.220088f, -0.328638f, 0.0f, -0.231224f, -0.311162f, 0.0f, -0.249404f, -0.300449f, 0.0f, -0.274248f, -0.296878f, 0.0f, -0.297371f, -0.3005f, 0.0f, -0.314935f, -0.311366f, 0.0f, -0.326023f, -0.328593f, 0.0f, -0.32972f, -0.3513f, 0.0f, -0.329088f, -0.361347f, 0.0f, -0.327194f, -0.370575f, 0.0f, -0.3241f, -0.378953f, 0.0f, -0.319868f, -0.386449f, 0.0f, -0.307997f, -0.398038f, 0.0f, -0.285769f, -0.414165f, 0.0f, -0.283621f, -0.415549f, 0.0f, -0.278559f, -0.418961f, 0.0f, -0.263277f, -0.432266f, 0.0f, -0.258183f, -0.44614f, 0.0f, -0.25923f, -0.453837f, 0.0f, -0.262369f, -0.459732f, 0.0f, -0.267314f, -0.463477f, 0.0f, -0.273779f, -0.464726f, 0.0f, -0.281483f, -0.463077f, 0.0f, -0.286587f, -0.458133f, 0.0f, -0.289439f, -0.449162f, 0.0f, -0.29039f, -0.435437f, 0.0f, -0.29039f, -0.429732f, 0.0f, -0.331999f, -0.429732f, 0.0f, -0.121304f, -0.495694f, 0.0f, -0.121304f, -0.339305f, 0.0f, -0.0832135f, -0.339305f, 0.0f, -0.0832135f, -0.301524f, 0.0f, -0.20306f, -0.301524f, 0.0f, -0.20306f, -0.339305f, 0.0f, -0.166827f, -0.339305f, 0.0f, -0.166827f, -0.495694f, 0.0f, 0.0142556f, -0.441893f, 0.0f, 0.0112272f, -0.455692f, 0.0f, 0.00554949f, -0.461538f, 0.0f, -0.00340769f, -0.463487f, 0.0f, -0.0124592f, -0.461491f, 0.0f, -0.0181684f, -0.455503f, 0.0f, -0.0211968f, -0.441657f, 0.0f, -0.0222063f, -0.416086f, 0.0f, -0.0222063f, -0.381131f, 0.0f, -0.0211968f, -0.355325f, 0.0f, -0.0181684f, -0.341526f, 0.0f, -0.0125221f, -0.335679f, 0.0f, -0.00365931f, -0.333731f, 0.0f, 0.00540795f, -0.335632f, 0.0f, 0.0111643f, -0.341337f, 0.0f, 0.0142399f, -0.355089f, 0.0f, 0.0152651f, -0.381131f, 0.0f, 0.0152651f, -0.416086f, 0.0f, -0.0677186f, -0.428925f, 0.0f, -0.0658278f, -0.449788f, 0.0f, -0.0624879f, -0.464161f, 0.0f, -0.05751f, -0.475003f, 0.0f, -0.0479002f, -0.486127f, 0.0f, -0.0357065f, -0.494037f, 0.0f, -0.020866f, -0.498763f, 0.0f, -0.00331576f, -0.500339f, 0.0f, 0.0142187f, -0.498763f, 0.0f, 0.0290121f, -0.494037f, 0.0f, 0.0411271f, -0.486127f, 0.0f, 0.0506269f, -0.475003f, 0.0f, 0.0557934f, -0.464051f, 0.0f, 0.0591963f, -0.4496f, 0.0f, 0.061087f, -0.428752f, 0.0f, 0.0617173f, -0.398609f, 0.0f, 0.061087f, -0.368387f, 0.0f, 0.0591963f, -0.347555f, 0.0f, 0.0557934f, -0.333151f, 0.0f, 0.0506269f, -0.322214f, 0.0f, 0.0410642f, -0.311012f, 0.0f, 0.0290121f, -0.303118f, 0.0f, 0.0142816f, -0.298438f, 0.0f, -0.00331576f, -0.296878f, 0.0f, -0.020866f, -0.298438f, 0.0f, -0.0357065f, -0.303118f, 0.0f, -0.0479002f, -0.311012f, 0.0f, -0.05751f, -0.322214f, 0.0f, -0.0624879f, -0.333057f, 0.0f, -0.0658278f, -0.347429f, 0.0f, -0.0677186f, -0.368293f, 0.0f, -0.0683488f, -0.398609f, 0.0f, 0.135112f, -0.495694f, 0.0f, 0.135112f, -0.443996f, 0.0f, 0.144925f, -0.425464f, 0.0f, 0.168698f, -0.495694f, 0.0f, 0.216248f, -0.495694f, 0.0f, 0.173227f, -0.386507f, 0.0f, 0.215242f, -0.301524f, 0.0f, 0.168949f, -0.301524f, 0.0f, 0.135112f, -0.382094f, 0.0f, 0.135112f, -0.301524f, 0.0f, 0.0895886f, -0.301524f, 0.0f, 0.0895886f, -0.495694f, 0.0f, 0.334856f, -0.495694f, 0.0f, 0.334856f, -0.456364f, 0.0f, 0.274468f, -0.456364f, 0.0f, 0.274468f, -0.413938f, 0.0f, 0.330201f, -0.413938f, 0.0f, 0.330201f, -0.374918f, 0.0f, 0.274468f, -0.374918f, 0.0f, 0.274468f, -0.339305f, 0.0f, 0.334856f, -0.339305f, 0.0f, 0.334856f, -0.301524f, 0.0f, 0.229255f, -0.301524f, 0.0f, 0.229255f, -0.495694f, 0.0f }; // 190 faces int faces[] = { 19, 20, 21, 1, 3, 31, 32, 33, 1, 3, 40, 41, 42, 1, 3, 30, 31, 33, 1, 1, 30, 33, 34, 1, 2, 18, 19, 21, 1, 1, 18, 21, 22, 1, 2, 54, 55, 56, 1, 3, 52, 53, 54, 1, 3, 51, 52, 54, 1, 1, 29, 30, 34, 1, 1, 29, 34, 35, 1, 2, 17, 18, 22, 1, 1, 17, 22, 23, 1, 2, 17, 23, 24, 1, 2, 16, 17, 24, 1, 1, 16, 24, 25, 1, 2, 39, 40, 42, 1, 1, 39, 42, 43, 1, 2, 38, 39, 43, 1, 1, 38, 43, 44, 1, 2, 29, 35, 36, 1, 2, 28, 29, 36, 1, 1, 28, 36, 37, 1, 2, 28, 37, 38, 1, 2, 27, 28, 38, 1, 1, 16, 25, 26, 1, 2, 15, 16, 26, 1, 1, 50, 51, 54, 1, 1, 49, 50, 54, 1, 1, 48, 49, 54, 1, 1, 48, 54, 56, 1, 0, 47, 48, 56, 1, 1, 46, 47, 56, 1, 1, 46, 56, 0, 1, 2, 45, 46, 0, 1, 1, 45, 0, 1, 1, 2, 44, 45, 1, 1, 1, 38, 44, 1, 1, 0, 38, 1, 2, 1, 2, 27, 38, 2, 1, 0, 27, 2, 3, 1, 2, 27, 3, 4, 1, 2, 26, 27, 4, 1, 1, 15, 26, 4, 1, 0, 15, 4, 5, 1, 2, 14, 15, 5, 1, 1, 14, 5, 6, 1, 2, 13, 14, 6, 1, 1, 13, 6, 7, 1, 2, 12, 13, 7, 1, 1, 11, 12, 7, 1, 1, 10, 11, 7, 1, 1, 10, 7, 8, 1, 2, 9, 10, 8, 1, 5, 115, 116, 117, 1, 3, 115, 117, 57, 1, 2, 85, 86, 87, 1, 3, 85, 87, 88, 1, 2, 115, 57, 58, 1, 2, 114, 115, 58, 1, 1, 114, 58, 59, 1, 2, 114, 59, 60, 1, 2, 113, 114, 60, 1, 1, 113, 60, 61, 1, 2, 112, 113, 61, 1, 1, 112, 61, 62, 1, 2, 111, 112, 62, 1, 1, 111, 62, 63, 1, 2, 110, 111, 63, 1, 1, 110, 63, 64, 1, 2, 109, 110, 64, 1, 1, 109, 64, 65, 1, 2, 108, 109, 65, 1, 1, 108, 65, 66, 1, 2, 107, 108, 66, 1, 1, 85, 88, 89, 1, 2, 85, 89, 90, 1, 2, 84, 85, 90, 1, 1, 84, 90, 91, 1, 2, 83, 84, 91, 1, 1, 83, 91, 92, 1, 2, 82, 83, 92, 1, 1, 82, 92, 93, 1, 2, 81, 82, 93, 1, 1, 81, 93, 94, 1, 2, 80, 81, 94, 1, 1, 80, 94, 95, 1, 2, 79, 80, 95, 1, 1, 79, 95, 96, 1, 2, 78, 79, 96, 1, 1, 78, 96, 97, 1, 2, 77, 78, 97, 1, 1, 77, 97, 98, 1, 2, 76, 77, 98, 1, 1, 76, 98, 99, 1, 2, 76, 99, 100, 1, 2, 76, 100, 101, 1, 2, 76, 101, 102, 1, 2, 75, 76, 102, 1, 1, 75, 102, 103, 1, 2, 74, 75, 103, 1, 1, 74, 103, 104, 1, 2, 74, 104, 105, 1, 2, 73, 74, 105, 1, 1, 72, 73, 105, 1, 1, 71, 72, 105, 1, 1, 71, 105, 106, 1, 2, 70, 71, 106, 1, 1, 69, 70, 106, 1, 1, 68, 69, 106, 1, 1, 68, 106, 107, 1, 2, 68, 107, 66, 1, 0, 68, 66, 67, 1, 6, 124, 125, 118, 1, 3, 124, 118, 119, 1, 2, 122, 123, 124, 1, 3, 121, 122, 124, 1, 1, 121, 124, 119, 1, 0, 121, 119, 120, 1, 6, 131, 145, 146, 1, 2, 145, 131, 132, 1, 2, 131, 146, 147, 1, 2, 131, 147, 148, 1, 2, 131, 148, 149, 1, 2, 130, 131, 149, 1, 1, 130, 149, 150, 1, 2, 130, 150, 151, 1, 2, 129, 130, 151, 1, 1, 144, 145, 132, 1, 1, 144, 132, 133, 1, 2, 175, 144, 133, 1, 1, 175, 133, 134, 1, 2, 174, 175, 134, 1, 1, 174, 134, 135, 1, 2, 173, 174, 135, 1, 1, 129, 151, 152, 1, 2, 128, 129, 152, 1, 1, 128, 152, 153, 1, 2, 172, 173, 135, 1, 1, 172, 135, 136, 1, 2, 171, 172, 136, 1, 1, 170, 171, 136, 1, 1, 169, 170, 136, 1, 1, 169, 136, 137, 1, 2, 168, 169, 137, 1, 1, 167, 168, 137, 1, 1, 167, 137, 138, 1, 2, 166, 167, 138, 1, 1, 166, 138, 139, 1, 2, 165, 166, 139, 1, 1, 128, 153, 154, 1, 2, 127, 128, 154, 1, 1, 127, 154, 155, 1, 2, 127, 155, 156, 1, 2, 126, 127, 156, 1, 1, 126, 156, 157, 1, 2, 126, 157, 158, 1, 2, 143, 126, 158, 1, 1, 143, 158, 159, 1, 2, 142, 143, 159, 1, 1, 142, 159, 160, 1, 2, 141, 142, 160, 1, 1, 141, 160, 161, 1, 2, 141, 161, 162, 1, 2, 140, 141, 162, 1, 1, 140, 162, 163, 1, 2, 140, 163, 164, 1, 2, 140, 164, 165, 1, 2, 140, 165, 139, 1, 4, 181, 182, 183, 1, 3, 181, 183, 184, 1, 2, 179, 180, 181, 1, 3, 178, 179, 181, 1, 1, 178, 181, 184, 1, 0, 186, 187, 176, 1, 3, 186, 176, 177, 1, 2, 186, 177, 178, 1, 2, 186, 178, 184, 1, 0, 186, 184, 185, 1, 6, 196, 197, 198, 1, 3, 195, 196, 198, 1, 1, 195, 198, 199, 1, 2, 194, 195, 199, 1, 1, 192, 193, 194, 1, 3, 191, 192, 194, 1, 1, 191, 194, 199, 1, 0, 190, 191, 199, 1, 1, 190, 199, 188, 1, 2, 189, 190, 188, 1, 5 }; #if MAX_VERSION_MAJOR >= 25 MaxSDK::SharedMeshPtr g_stokeMesh; #else Mesh g_stokeMesh; #endif } // anonymous namespace namespace stoke { namespace max3d { #if MAX_VERSION_MAJOR >= 25 static void InitializeIconMesh() { if( !g_stokeMesh ) { g_stokeMesh = new MaxSDK::SharedMesh(); int vertCount = sizeof( verts ) / sizeof( verts[0] ) / 3; int faceCount = sizeof( faces ) / sizeof( faces[0] ) / 5; g_stokeMesh->GetMesh().freeAllVData(); g_stokeMesh->GetMesh().FreeAll(); g_stokeMesh->GetMesh().setNumVerts( vertCount ); g_stokeMesh->GetMesh().setNumFaces( faceCount ); for( int i = 0; i < vertCount; ++i ) g_stokeMesh->GetMesh().setVert( i, &verts[i * 3] ); for( int i = 0; i < faceCount; ++i ) memcpy( &g_stokeMesh->GetMesh().faces[i], &faces[i * 5], sizeof( Face ) ); g_stokeMesh->GetMesh().InvalidateGeomCache(); g_stokeMesh->GetMesh().InvalidateTopologyCache(); g_stokeMesh->GetMesh().buildBoundingBox(); } } Mesh* GetStokeMesh() { InitializeIconMesh(); return g_stokeMesh->GetMeshPtr(); } MaxSDK::SharedMeshPtr GetStokeMeshShared() { InitializeIconMesh(); return g_stokeMesh; } #else Mesh* GetStokeMesh() { if( g_stokeMesh.getNumVerts() == 0 ) { int vertCount = sizeof( verts ) / sizeof( verts[0] ) / 3; int faceCount = sizeof( faces ) / sizeof( faces[0] ) / 5; g_stokeMesh.freeAllVData(); g_stokeMesh.FreeAll(); g_stokeMesh.setNumVerts( vertCount ); g_stokeMesh.setNumFaces( faceCount ); for( int i = 0; i < vertCount; ++i ) g_stokeMesh.setVert( i, &verts[i * 3] ); for( int i = 0; i < faceCount; ++i ) memcpy( &g_stokeMesh.faces[i], &faces[i * 5], sizeof( Face ) ); g_stokeMesh.InvalidateGeomCache(); g_stokeMesh.InvalidateTopologyCache(); g_stokeMesh.buildBoundingBox(); } return &g_stokeMesh; } #endif } // namespace max3d } // namespace stoke