package PDL::Graphics::TriD::Logo; use PDL::Lite; @ISA=qw/PDL::Graphics::TriD::Object/; sub new { my ($type,$pos,$size) = @_; $this = bless {},$type; $this->{Points} = PDL->pdl ([ [ 0.843, 0.852, 0], [ 0.843, 0.852, -1], [ 1.227, 0.891, 0], [ 1.227, 0.891, -1], [ 1.56, 1.071, 0], [ 1.56, 1.071, -1], [ 1.722, 1.488, 0], [ 1.722, 1.488, -1], [ 1.656, 1.776, 0], [ 1.656, 1.776, -1], [ 1.488, 1.956, 0], [ 1.488, 1.956, -1], [ 0.942, 2.076, 0], [ 0.942, 2.076, -1], [ 0.105, 2.076, 0], [ 0.105, 2.076, -1], [ 0.105, 1.989, 0], [ 0.105, 1.989, -1], [ 0.339, 1.95, 0], [ 0.339, 1.95, -1], [ 0.375, 1.797, 0], [ 0.375, 1.797, -1], [ 0.375, 0.279, 0], [ 0.375, 0.279, -1], [ 0.339, 0.126, 0], [ 0.339, 0.126, -1], [ 0.105, 0.087, 0], [ 0.105, 0.087, -1], [ 0.105, 0, 0], [ 0.105, 0, -1], [ 0.99, 0, 0], [ 0.99, 0, -1], [ 0.99, 0.087, 0], [ 0.99, 0.087, -1], [ 0.714, 0.126, 0], [ 0.714, 0.126, -1], [ 0.672, 0.279, 0], [ 0.672, 0.279, -1], [ 0.672, 0.852, 0], [ 0.672, 0.852, -1], [ 0.714, 1.947, 0], [ 0.714, 1.947, -1], [ 0.9, 1.971, 0], [ 0.9, 1.971, -1], [ 1.266, 1.842, 0], [ 1.266, 1.842, -1], [ 1.398, 1.467, 0], [ 1.398, 1.467, -1], [ 1.242, 1.071, 0], [ 1.242, 1.071, -1], [ 0.894, 0.957, 0], [ 0.894, 0.957, -1], [ 0.717, 0.975, 0], [ 0.717, 0.975, -1], [ 0.672, 1.074, 0], [ 0.672, 1.074, -1], [ 0.672, 1.86, 0], [ 0.672, 1.86, -1], [ 2.526, 1.944, 0], [ 2.526, 1.944, -1], [ 2.82, 1.971, 0], [ 2.82, 1.971, -1], [ 3.222, 1.896, 0], [ 3.222, 1.896, -1], [ 3.48, 1.701, 0], [ 3.48, 1.701, -1], [ 3.657, 1.062, 0], [ 3.657, 1.062, -1], [ 3.591, 0.594, 0], [ 3.591, 0.594, -1], [ 3.411, 0.3, 0], [ 3.411, 0.3, -1], [ 3.132, 0.147, 0], [ 3.132, 0.147, -1], [ 2.784, 0.105, 0], [ 2.784, 0.105, -1], [ 2.529, 0.15, 0], [ 2.529, 0.15, -1], [ 2.472, 0.375, 0], [ 2.472, 0.375, -1], [ 2.472, 1.8, 0], [ 2.472, 1.8, -1], [ 1.905, 1.989, 0], [ 1.905, 1.989, -1], [ 2.139, 1.95, 0], [ 2.139, 1.95, -1], [ 2.175, 1.797, 0], [ 2.175, 1.797, -1], [ 2.175, 0.279, 0], [ 2.175, 0.279, -1], [ 2.139, 0.126, 0], [ 2.139, 0.126, -1], [ 1.905, 0.087, 0], [ 1.905, 0.087, -1], [ 1.905, 0, 0], [ 1.905, 0, -1], [ 2.841, 0, 0], [ 2.841, 0, -1], [ 3.603, 0.192, 0], [ 3.603, 0.192, -1], [ 3.882, 0.522, 0], [ 3.882, 0.522, -1], [ 3.993, 1.074, 0], [ 3.993, 1.074, -1], [ 3.927, 1.491, 0], [ 3.927, 1.491, -1], [ 3.723, 1.815, 0], [ 3.723, 1.815, -1], [ 3.375, 2.013, 0], [ 3.375, 2.013, -1], [ 2.901, 2.076, 0], [ 2.901, 2.076, -1], [ 1.905, 2.076, 0], [ 1.905, 2.076, -1], [ 4.848, 1.95, 0], [ 4.848, 1.95, -1], [ 5.097, 1.989, 0], [ 5.097, 1.989, -1], [ 5.097, 2.076, 0], [ 5.097, 2.076, -1], [ 4.242, 2.076, 0], [ 4.242, 2.076, -1], [ 4.242, 1.989, 0], [ 4.242, 1.989, -1], [ 4.476, 1.95, 0], [ 4.476, 1.95, -1], [ 4.512, 1.797, 0], [ 4.512, 1.797, -1], [ 4.512, 0.279, 0], [ 4.512, 0.279, -1], [ 4.476, 0.126, 0], [ 4.476, 0.126, -1], [ 4.242, 0.087, 0], [ 4.242, 0.087, -1], [ 4.242, 0, 0], [ 4.242, 0, -1], [ 5.799, 0, 0], [ 5.799, 0, -1], [ 5.835, 0.537, 0], [ 5.835, 0.537, -1], [ 5.745, 0.537, 0], [ 5.745, 0.537, -1], [ 5.571, 0.174, 0], [ 5.571, 0.174, -1], [ 5.205, 0.105, 0], [ 5.205, 0.105, -1], [ 4.884, 0.135, 0], [ 4.884, 0.135, -1], [ 4.809, 0.36, 0], [ 4.809, 0.36, -1], [ 4.809, 1.797, 0], [ 4.809, 1.797, -1]]); $this->{Index} = PDL->pdl([ [ 0, 1, 2], [ 3, 2, 1], [ 2, 3, 4], [ 5, 4, 3], [ 4, 5, 6], [ 7, 6, 5], [ 6, 7, 8], [ 9, 8, 7], [ 8, 9, 10], [ 11, 10, 9], [ 10, 11, 12], [ 13, 12, 11], [ 12, 13, 14], [ 15, 14, 13], [ 14, 15, 16], [ 17, 16, 15], [ 16, 17, 18], [ 19, 18, 17], [ 18, 19, 20], [ 21, 20, 19], [ 20, 21, 22], [ 23, 22, 21], [ 22, 23, 24], [ 25, 24, 23], [ 24, 25, 26], [ 27, 26, 25], [ 26, 27, 28], [ 29, 28, 27], [ 28, 29, 30], [ 31, 30, 29], [ 30, 31, 32], [ 33, 32, 31], [ 32, 33, 34], [ 35, 34, 33], [ 34, 35, 36], [ 37, 36, 35], [ 36, 37, 38], [ 39, 38, 37], [ 38, 39, 0], [ 1, 0, 39], [ 40, 41, 42], [ 43, 42, 41], [ 42, 43, 44], [ 45, 44, 43], [ 44, 45, 46], [ 47, 46, 45], [ 46, 47, 48], [ 49, 48, 47], [ 48, 49, 50], [ 51, 50, 49], [ 50, 51, 52], [ 53, 52, 51], [ 52, 53, 54], [ 55, 54, 53], [ 54, 55, 56], [ 57, 56, 55], [ 56, 57, 40], [ 41, 40, 57], [ 58, 59, 60], [ 61, 60, 59], [ 60, 61, 62], [ 63, 62, 61], [ 62, 63, 64], [ 65, 64, 63], [ 64, 65, 66], [ 67, 66, 65], [ 66, 67, 68], [ 69, 68, 67], [ 68, 69, 70], [ 71, 70, 69], [ 70, 71, 72], [ 73, 72, 71], [ 72, 73, 74], [ 75, 74, 73], [ 74, 75, 76], [ 77, 76, 75], [ 76, 77, 78], [ 79, 78, 77], [ 78, 79, 80], [ 81, 80, 79], [ 80, 81, 58], [ 59, 58, 81], [ 82, 83, 84], [ 85, 84, 83], [ 84, 85, 86], [ 87, 86, 85], [ 86, 87, 88], [ 89, 88, 87], [ 88, 89, 90], [ 91, 90, 89], [ 90, 91, 92], [ 93, 92, 91], [ 92, 93, 94], [ 95, 94, 93], [ 94, 95, 96], [ 97, 96, 95], [ 96, 97, 98], [ 99, 98, 97], [ 98, 99,100], [101,100, 99], [100,101,102], [103,102,101], [102,103,104], [105,104,103], [104,105,106], [107,106,105], [106,107,108], [109,108,107], [108,109,110], [111,110,109], [110,111,112], [113,112,111], [112,113, 82], [ 83, 82,113], [114,115,116], [117,116,115], [116,117,118], [119,118,117], [118,119,120], [121,120,119], [120,121,122], [123,122,121], [122,123,124], [125,124,123], [124,125,126], [127,126,125], [126,127,128], [129,128,127], [128,129,130], [131,130,129], [130,131,132], [133,132,131], [132,133,134], [135,134,133], [134,135,136], [137,136,135], [136,137,138], [139,138,137], [138,139,140], [141,140,139], [140,141,142], [143,142,141], [142,143,144], [145,144,143], [144,145,146], [147,146,145], [146,147,148], [149,148,147], [148,149,150], [151,150,149], [150,151,114], [115,114,151], [ 13, 43, 41], [ 13, 45, 43], [ 11, 45, 13], [ 11, 47, 45], [ 5, 47, 11], [ 5, 49, 47], [ 3, 49, 5], [ 3, 51, 49], [ 1, 51, 3], [ 1, 53, 51], [ 39, 53, 1], [ 39, 55, 53], [ 57, 55, 39], [ 57, 39, 37], [ 21, 57, 37], [ 23, 21, 37], [ 35, 23, 37], [ 21, 41, 57], [ 21, 13, 41], [ 19, 13, 21], [ 19, 15, 13], [ 17, 15, 19], [ 5, 11, 9], [ 7, 5, 9], [ 35, 33, 31], [ 23, 35, 31], [ 25, 23, 31], [ 27, 25, 31], [ 29, 27, 31], [111, 61, 59], [111, 63, 61], [109, 63,111], [109, 65, 63], [107, 65,109], [107, 67, 65], [101, 67,107], [101, 99, 67], [ 97, 75, 73], [ 97, 77, 75], [ 89, 77, 97], [ 89, 79, 77], [ 87, 79, 89], [ 87, 81, 79], [ 59, 81, 87], [ 59, 87, 85], [111, 59, 85], [113,111, 85], [ 83,113, 85], [101,107,105], [103,101,105], [ 69, 67, 99], [ 71, 69, 99], [ 73, 71, 99], [ 97, 73, 99], [ 91, 89, 97], [ 93, 91, 97], [ 95, 93, 97], [125,121,119], [127,125,119], [115,127,119], [117,115,119], [149,127,151], [149,129,127], [147,129,149], [147,131,129], [137,131,147], [137,133,131], [135,133,137], [141,139,137], [143,141,137], [145,143,137], [147,145,137], [123,121,125], [151,127,115], [ 40, 42, 12], [ 12, 42, 44], [ 12, 44, 10], [ 10, 44, 46], [ 10, 46, 4], [ 4, 46, 48], [ 4, 48, 2], [ 2, 48, 50], [ 2, 50, 0], [ 0, 50, 52], [ 0, 52, 38], [ 38, 52, 54], [ 38, 54, 56], [ 36, 38, 56], [ 36, 56, 20], [ 36, 20, 22], [ 36, 22, 34], [ 56, 40, 20], [ 20, 40, 12], [ 20, 12, 18], [ 18, 12, 14], [ 18, 14, 16], [ 8, 10, 4], [ 8, 4, 6], [ 30, 32, 34], [ 30, 34, 22], [ 30, 22, 24], [ 30, 24, 26], [ 30, 26, 28], [ 58, 60,110], [110, 60, 62], [110, 62,108], [108, 62, 64], [108, 64,106], [106, 64, 66], [106, 66,100], [100, 66, 98], [ 72, 74, 96], [ 96, 74, 76], [ 96, 76, 88], [ 88, 76, 78], [ 88, 78, 86], [ 86, 78, 80], [ 86, 80, 58], [ 84, 86, 58], [ 84, 58,110], [ 84,110,112], [ 84,112, 82], [104,106,100], [104,100,102], [ 98, 66, 68], [ 98, 68, 70], [ 98, 70, 72], [ 98, 72, 96], [ 96, 88, 90], [ 96, 90, 92], [ 96, 92, 94], [118,120,124], [118,124,126], [118,126,114], [118,114,116], [150,126,148], [148,126,128], [148,128,146], [146,128,130], [146,130,136], [136,130,132], [136,132,134], [136,138,140], [136,140,142], [136,142,144], [136,144,146], [124,120,122], [114,126,150]]); $this->{Material} = new PDL::Graphics::TriD::Material( Shine => 0.212766, Specular =>[0.753217,0.934416,1], Ambient =>[0,0,0], Diffuse =>[0.09855,0.153113,0.191489], Emissive =>[0, 0, 0]); $this->{Pos} = defined($pos) ? $pos : [0,1.2,0]; $this->{Size} = defined($size) ? $size : 0.1; return $this; } 1; # ***add these lines to, e.g. tvrml2.pl # # use PDL::Graphics::TriD::Logo; # $win->add_object(new PDL::Graphics::TriD::Logo);