arrowData.h

//-
// ==========================================================================
// Copyright 1995,2006,2008 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk
// license agreement provided at the time of installation or download,
// or which otherwise accompanies this software in either electronic
// or hard copy form.
// ==========================================================================
//+

// 
// Description: 
//  The draw data for curvedArrowsLocator node. The vertex and face
//  lists here are used to draw the locator in curvedArrowsNode.cpp.
//  If you intend on using this file for your own locator code, you
//  should statically define the data in a cpp file and forward
//  declare the definitions.
//

#ifndef __arrowData_h 
#define __arrowData_h 

#include <maya/MTypes.h> 

double3 fsVertexList[] = { 
    {2.008225, 1.079209, 1.099684},
    {1.372727, 4.319467, 1.062919},
    {1.280773, 4.292139, 2.119867},
    {0.539631, 6.385876, 0.001970},
    {1.280571, 4.293406, -2.116594},
    {1.372622, 4.320125, -1.059360},
    {2.008054, 1.080287, -1.098606},
    {1.371678, 1.043522, -4.338864},
    {1.279918, 2.100470, -4.311536},
    {0.538348, -0.017427, -6.405273},
    {1.279295, -2.135990, -4.312802},
    {1.371354, -1.078757, -4.339522},
    {2.007523, -1.118003, -1.099684},
    {1.370871, -4.358261, -1.062919},
    {1.278961, -4.330933, -2.119867},
    {0.537693, -6.424670, -0.001970},
    {1.279162, -4.332200, 2.116594},
    {1.370975, -4.358919, 1.059360},
    {2.007695, -1.119081, 1.098606},
    {1.371921, -1.082316, 4.338864},
    {1.279816, -2.139264, 4.311536},
    {0.538976, -0.021367, 6.405273},
    {1.280439, 2.097197, 4.312802},
    {1.372244, 1.039963, 4.339522},
    {0.689836, 6.083689, -0.304354},
    {0.687872, -6.122423, -0.308345},
    {0.688532, -0.323764, -6.103074},
    {2.085568, -0.350431, -0.331356},
    {1.499430, 1.051045, -3.919533},
    {1.529212, -0.339001, -3.927586},
    {1.060962, 1.230698, -5.173299},
    {1.094450, -0.331015, -5.187352},
    {1.358106, 1.257148, -4.334800},
    {1.062640, 1.235920, -5.168137},
    {1.500284, 3.900855, -1.067099},
    {1.530372, 3.908165, -0.319592},
    {1.063729, 5.149192, -1.251617},
    {1.358988, 4.316187, -1.273126},
    {1.062019, 5.154456, -1.246286},
    {1.095755, 5.167962, -0.311606},
    {1.805411, 1.068872, -2.630027},
    {1.840273, -0.344989, -2.635986},
    {1.805912, 2.611508, -1.085823},
    {1.841150, 2.616522, -0.325579},
    {1.989196, 1.079267, -1.319875},
    {2.027111, -0.348901, -1.323331},
    {1.989278, 1.301442, -1.097376},
    {2.027605, 1.303832, -0.329491},
    {1.499065, -1.086496, -3.920275},
    {1.060692, -1.265690, -5.173846},
    {1.062416, -1.271064, -5.168539},
    {1.357708, -1.292573, -4.335583},
    {1.804689, -2.649458, -1.088268},
    {1.839898, -2.655130, -0.328084},
    {1.804946, -1.105219, -2.630971},
    {1.988671, -1.116772, -1.320941},
    {1.988629, -1.339324, -1.098664},
    {2.026941, -1.342456, -0.330810},
    {1.498628, -3.938942, -1.070441},
    {1.528676, -3.946769, -0.323016},
    {1.357257, -4.354195, -1.276643},
    {1.061859, -5.187435, -1.255416},
    {1.060152, -5.192692, -1.250098},
    {1.093819, -5.206605, -0.315548},
    {0.689167, -0.327754, 6.103014},
    {1.840678, -0.347494, 2.635666},
    {1.805806, 1.066425, 2.630939},
    {1.500402, 3.900112, 1.070442},
    {1.359117, 4.315402, 1.276595},
    {1.063801, 5.148689, 1.255368},
    {1.062106, 5.153909, 1.250088},
    {1.806063, 2.610563, 1.088270},
    {2.027326, -0.350221, 1.322957},
    {1.989405, 1.077978, 1.320891},
    {1.989447, 1.300376, 1.098664},
    {1.529760, -0.342425, 3.927349},
    {1.499966, 1.047702, 3.920264},
    {1.095076, -0.334957, 5.187215},
    {1.061565, 1.226892, 5.173850},
    {1.063244, 1.232120, 5.168687},
    {1.358666, 1.253631, 4.335587},
    {1.805341, -1.107666, 2.629994},
    {1.804840, -2.650403, 1.085822},
    {1.988881, -1.118061, 1.319826},
    {1.988799, -1.340390, 1.097375},
    {1.498746, -3.939685, 1.067098},
    {1.061931, -5.188034, 1.251568},
    {1.357386, -4.354982, 1.273078},
    {1.060238, -5.193239, 1.246297},
    {1.499600, -1.089839, 3.919521},
    {1.061296, -1.269488, 5.173302},
    {1.358268, -1.296090, 4.334797},
    {1.063021, -1.274864, 5.167988}
};
static unsigned int fsVertexListSize = sizeof(fsVertexList)/sizeof(fsVertexList[0]);

double3 fsNormalList[] = { 
    {-0.931122, 0.038131, -0.362710},
    {-0.912231, -0.005503, -0.409640},
    {-0.933578, 0.006943, -0.358306},
    {-0.931095, 0.362789, 0.038019},
    {-0.912227, 0.409648, -0.005557},
    {-0.933550, 0.358383, 0.006858},
    {-0.997459, -0.042270, 0.057351},
    {-0.993341, -0.026643, 0.112084},
    {-0.994834, 0.005967, 0.101338},
    {-0.944191, -0.031638, 0.327875},
    {-0.925551, -0.028775, 0.377527},
    {-0.933560, 0.006761, 0.358358},
    {-0.907808, -0.032590, 0.418117},
    {-0.912226, -0.005666, 0.409648},
    {-0.938752, -0.081124, 0.334909},
    {-0.937371, -0.096144, 0.334802},
    {-0.939100, -0.066084, 0.337231},
    {-0.944104, -0.327156, 0.040453},
    {-0.966679, -0.252334, 0.043109},
    {-0.960969, -0.276637, 0.003159},
    {-0.939124, -0.337153, 0.066138},
    {-0.937387, -0.334742, 0.096190},
    {-0.938771, -0.334845, 0.081163},
    {-0.912227, -0.409644, -0.005734},
    {-0.931111, -0.362760, 0.037919},
    {-0.933585, -0.358294, 0.006690},
    {-0.967351, -0.023114, 0.252386},
    {-0.960826, 0.013512, 0.276822},
    {-0.982288, 0.011914, 0.187001},
    {-0.984228, -0.170339, 0.047757},
    {-0.982359, -0.186756, 0.009630},
    {-0.985027, -0.025548, 0.170498},
    {-0.992471, -0.111860, 0.049884},
    {-0.995415, -0.094359, 0.015656},
    {-0.939102, 0.066141, 0.337213},
    {-0.937369, 0.096190, 0.334792},
    {-0.938752, 0.081181, 0.334895},
    {-0.931093, 0.037925, 0.362805},
    {-0.944074, 0.040491, 0.327237},
    {-0.964270, 0.041449, 0.261658},
    {-0.991342, 0.121848, 0.048936},
    {-0.978396, 0.201767, 0.045070},
    {-0.982265, 0.187120, 0.011932},
    {-0.978414, 0.045051, 0.201683},
    {-0.991353, 0.048984, 0.121739},
    {-0.996495, 0.059201, 0.059092},
    {-0.994819, 0.101489, 0.005905},
    {-0.964254, 0.261709, 0.041505},
    {-0.960805, 0.276893, 0.013589},
    {-0.938752, 0.334874, 0.081267},
    {-0.937370, 0.334766, 0.096273},
    {-0.939103, 0.337190, 0.066241},
    {-0.944069, 0.327242, 0.040582},
    {-0.907792, -0.032472, -0.418163},
    {-0.925549, -0.028624, -0.377545},
    {-0.995398, 0.015903, -0.094495},
    {-0.982336, 0.009926, -0.186865},
    {-0.992245, -0.025986, -0.121548},
    {-0.938785, -0.334775, -0.081291},
    {-0.937401, -0.334667, -0.096321},
    {-0.939136, -0.337099, -0.066236},
    {-0.944233, -0.327743, -0.031761},
    {-0.925574, -0.377464, -0.028876},
    {-0.907810, -0.418108, -0.032678},
    {-0.979223, -0.201333, -0.024215},
    {-0.998284, -0.041303, -0.041510},
    {-0.992261, -0.121362, -0.026260},
    {-0.960946, 0.003462, -0.276715},
    {-0.979198, -0.023910, -0.201495},
    {-0.944194, -0.031458, -0.327883},
    {-0.939094, -0.065903, -0.337282},
    {-0.937364, -0.095970, -0.334872},
    {-0.938744, -0.080943, -0.334974},
    {-0.939071, 0.337339, -0.065948},
    {-0.937345, 0.334923, -0.095971},
    {-0.938725, 0.335024, -0.080962},
    {-0.992448, 0.050148, -0.111948},
    {-0.984202, 0.048049, -0.170403},
    {-0.985000, 0.170655, -0.025537},
    {-0.993321, 0.112257, -0.026691},
    {-0.997443, 0.057550, -0.042372},
    {-0.967321, 0.252508, -0.023037},
    {-0.907802, 0.418140, -0.032480},
    {-0.925535, 0.377575, -0.028671},
    {-0.944163, 0.327965, -0.031530},
    {-0.966661, 0.043405, -0.252353},
    {-0.938785, 0.081433, -0.334740},
    {-0.937400, 0.096451, -0.334631},
    {-0.939136, 0.066388, -0.337069},
    {-0.944108, 0.040709, -0.327112},
    {-0.999889, 0.010615, 0.010460},
    {-0.964989, -0.261340, -0.022320},
    {-0.964949, -0.022014, -0.261513}
};
// static unsigned int fsNormalListSize = sizeof(fsNormalList)/sizeof(fsNormalList[0]);

typedef unsigned int uint3[3]; 

uint3 fsFaceList[] = {
    {91, 65, 78},
    {63, 26, 64},
    {7, 45, 46},
    {8, 31, 32},
    {31, 10, 27},
    {33, 9, 34},
    {6, 35, 36},
    {37, 5, 38},
    {25, 39, 40},
    {29, 30, 42},
    {35, 43, 44},
    {41, 42, 46},
    {43, 47, 48},
    {51, 11, 52},
    {27, 50, 32},
    {12, 49, 30},
    {57, 53, 54},
    {49, 55, 30},
    {55, 56, 42},
    {13, 57, 58},
    {53, 59, 60},
    {61, 15, 62},
    {14, 63, 64},
    {65, 22, 79},
    {73, 66, 74},
    {69, 3, 70},
    {2, 71, 40},
    {71, 4, 25},
    {36, 44, 72},
    {1, 75, 48},
    {44, 48, 75},
    {66, 76, 67},
    {78, 79, 24},
    {80, 23, 81},
    {87, 17, 88},
    {84, 82, 73},
    {58, 54, 83},
    {58, 85, 19},
    {54, 60, 86},
    {26, 16, 89},
    {64, 89, 18},
    {82, 90, 66},
    {92, 21, 93},
    {20, 91, 78},
    {48, 47, 7},
    {46, 28, 7},
    {7, 28, 48},
    {8, 33, 34},
    {30, 29, 8},
    {8, 32, 30},
    {34, 31, 8},
    {27, 32, 31},
    {37, 38, 6},
    {40, 39, 6},
    {36, 40, 6},
    {6, 39, 37},
    {42, 41, 29},
    {44, 36, 35},
    {46, 45, 41},
    {48, 44, 43},
    {51, 52, 12},
    {32, 50, 12},
    {30, 32, 12},
    {12, 50, 51},
    {54, 58, 57},
    {55, 42, 30},
    {56, 46, 42},
    {46, 56, 13},
    {58, 28, 13},
    {13, 28, 46},
    {60, 54, 53},
    {14, 61, 62},
    {60, 59, 14},
    {14, 64, 60},
    {62, 63, 14},
    {79, 78, 65},
    {66, 67, 74},
    {2, 69, 70},
    {36, 68, 2},
    {2, 40, 36},
    {70, 71, 2},
    {25, 40, 71},
    {72, 68, 36},
    {73, 74, 1},
    {48, 28, 1},
    {1, 28, 73},
    {75, 72, 44},
    {76, 77, 67},
    {80, 81, 24},
    {24, 77, 76},
    {76, 78, 24},
    {24, 79, 80},
    {82, 66, 73},
    {83, 85, 58},
    {19, 84, 73},
    {19, 28, 58},
    {73, 28, 19},
    {86, 83, 54},
    {89, 64, 26},
    {87, 88, 18},
    {18, 86, 60},
    {60, 64, 18},
    {18, 89, 87},
    {90, 76, 66},
    {20, 92, 93},
    {76, 90, 20},
    {20, 78, 76},
    {93, 91, 20}
};

static unsigned int fsFaceListSize = sizeof(fsFaceList)/sizeof(fsFaceList[0]);

uint3 fsFaceVertexNormalList[] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9},
    {10, 11, 12},
    {11, 13, 14},
    {15, 16, 17},
    {18, 19, 20},
    {21, 22, 23},
    {24, 25, 26},
    {27, 28, 29},
    {19, 30, 31},
    {32, 29, 9},
    {30, 33, 34},
    {35, 36, 37},
    {14, 38, 12},
    {39, 40, 28},
    {41, 42, 43},
    {40, 44, 28},
    {44, 45, 29},
    {46, 41, 47},
    {42, 48, 49},
    {50, 51, 52},
    {53, 4, 6},
    {2, 54, 55},
    {56, 57, 58},
    {59, 60, 61},
    {62, 63, 26},
    {63, 64, 24},
    {20, 31, 65},
    {66, 67, 34},
    {31, 34, 67},
    {57, 68, 69},
    {3, 55, 70},
    {71, 72, 73},
    {74, 75, 76},
    {77, 78, 56},
    {47, 43, 79},
    {47, 80, 81},
    {43, 49, 82},
    {5, 83, 84},
    {6, 84, 85},
    {78, 86, 57},
    {87, 88, 89},
    {90, 1, 3},
    {34, 33, 7},
    {9, 91, 7},
    {7, 91, 34},
    {10, 15, 17},
    {28, 27, 10},
    {10, 12, 28},
    {17, 11, 10},
    {14, 12, 11},
    {21, 23, 18},
    {26, 25, 18},
    {20, 26, 18},
    {18, 25, 21},
    {29, 32, 27},
    {31, 20, 19},
    {9, 8, 32},
    {34, 31, 30},
    {35, 37, 39},
    {12, 38, 39},
    {28, 12, 39},
    {39, 38, 35},
    {43, 47, 41},
    {44, 29, 28},
    {45, 9, 29},
    {9, 45, 46},
    {47, 91, 46},
    {46, 91, 9},
    {49, 43, 42},
    {53, 50, 52},
    {49, 48, 53},
    {53, 6, 49},
    {52, 4, 53},
    {55, 3, 2},
    {57, 69, 58},
    {62, 59, 61},
    {20, 92, 62},
    {62, 26, 20},
    {61, 63, 62},
    {24, 26, 63},
    {65, 92, 20},
    {56, 58, 66},
    {34, 91, 66},
    {66, 91, 56},
    {67, 65, 31},
    {68, 93, 69},
    {71, 73, 70},
    {70, 93, 68},
    {68, 3, 70},
    {70, 55, 71},
    {78, 57, 56},
    {79, 80, 47},
    {81, 77, 56},
    {81, 91, 47},
    {56, 91, 81},
    {82, 79, 43},
    {84, 6, 5},
    {74, 76, 85},
    {85, 82, 49},
    {49, 6, 85},
    {85, 84, 74},
    {86, 68, 57},
    {90, 87, 89},
    {68, 86, 90},
    {90, 3, 68},
    {89, 1, 90}
};

// static unsigned int fsFaceVertexNormalListSize = sizeof(fsFaceVertexNormalList)/sizeof(fsFaceVertexNormalList[0]);

unsigned int fsEdgeLoop[] = { 0, 74, 71, 67, 1, 
                              68, 2, 69, 70, 3,
                              24, 38, 36, 4, 37, 
                              5, 34, 42, 46, 6, 
                              44, 40, 28, 7, 
                              32, 8, 33, 30, 9,
                              26, 49, 50, 10, 51, 11, 
                              48, 54, 55, 12, 56, 52, 
                              58, 13, 60, 14, 61, 62,
                              25, 15, 88, 86, 16, 87, 17, 
                              85, 82, 84, 18, 83, 81, 89, 19, 
                              91, 20, 92, 90, 64, 21, 78, 79, 
                              22, 80, 23, 76, 66, 73 };

static unsigned int fsEdgeLoopSize = sizeof(fsEdgeLoop)/sizeof(fsEdgeLoop[0]);

#endif